arr扩展方法
array.map 的用法
map() 方法返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
const arr =[1,2,3,4];
const newarr =arr.map(item=>item+2);
console.log(newarr);
array.filter() 过滤
-- filter() 不会对空数组进行检测。
-- filter() 不会改变原始数组。
const arr = [1,2,3,4,5,6,7];
const newarr = arr.filter(item=> item%2==0);
console.log(newarr);
array.reduce() "缩减" "累加器"
total 即是初始值又是返回值
reduce 第二个参数指定初始值
reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 -- 对于空数组是不会执行回调函数的。
const arr = [1,2,3,4,5];
let sum = arr.reduce((total,currentValue)=>{
return total + currentValue;
},10)
console.log(sum);
fill填充
语法:array.fill(value, start, end)
Value:必需。填充的值。
Start:可选。开始填充位置。
End:可选。停止填充位置 (默认为 array.length)。
let arr = [1,2,3,4]
arr.fill('x',1,3);
console.log(arr)
数组的遍历
for of遍历数组的值(遍历可迭代具备迭代器接口)
const arr = ['a','b','c','d']
for(let v of arr){
console.log(v)
}
for in遍历索引(遍历可枚举类型)
const arr = ['a','b','c','d']
for(let k in arr){
console.log(k)
}
const Person ={realname:'张三',age:19};
for(let key of Person){
console.log(key)
}
"遍历对象" for of “遍历对象”
const Person ={realname:'张三',age:19}
const keys = object.keys(Person); //获得所有对象的keys
for(let k of keys){
console.log(`k:${k},v:${Person[k]}`)
}
forEach的用法
let arr = [1,2,3,4];
arr.forEach((item,index)=>{
console.log(`v:${item},k:${index}`)
})
数组的其他方法、
in 判断元素是否是数组(对象)的属性
判断对象 是否 数组的属性。
判断对象 是否 是 对象 的属性。
let arr = ["a","b","c",4];
let Person = {realname:"张三",age:19};
console.log(4 in arr);//false
console.log("realname" in Person);//true
arr.some 找满足条件的元素 找到则返回true 找不到则返回false
-- 如果有一个元素满足条件,则表达式返回*true* , 剩余的元素不会再执行检测。
-- some() 不会对空数组进行检测。
-- some() 不会改变原始数组。
-- 如果找不到返回flase。
let arr = [1,2,3,4];
let flag = arr.some(item=>item>2);
console.log(flag);
split把字符串 按照“分割符”转为数组
let str ='1-2-3';
let arr = str.split('-');
let str2 = arr.join(','); //把数组按照“分隔符”链接成一个字符串
console.log(str2);
Array.of 负责把一堆文本转成数组
let a = 1;
let b = 2;
let c = 3;
console.log(Array.of(a,b,c));