js 数组 常用方法

let arr=[{a:1},{a:2},{a:3}];
// 数组循环
// 返回void
arr.forEach(i=>{
// i为arr中的元素
})
//数组过滤 如果return 的值为true 则将当前的遍历的元素添加到返回的数组中去
// 返回[]
arr.filter(i=>{
return i.a>2;
})
//数组循环 遍历数组,并将遍历数组中的每一个元素映射返回 注意不管是否有return值返回的数组的length不变 只是无return值的元素位置会变成undefined
arr.map(i=>{

})
//数组循环 判断数组内每一个元素是否都满足件 返回bool 注意 当发现一个元素不满足条件时,遍历终止 返回false
arr.every(i=>{
return i.a>=1;
})
//数组循环 判断数组内是否存在满足条件的元素,返回bool 注意 当发现一个元素满足条件时,遍历终止 返回true
arr.some(i=>{
return i.a>2;
})
//数组循环 将数组内所有元素相加 并返回最终值 注意 此方法第一次遍历时a为数组第一个元素 b为第二个元素,第二次及第二次以上遍历时 a为前a与b之和 b为前b的下一个元素
arr.reduce((a,b)=>{
return {a:a.a+b.a};
})
//注意!!! 以下皆为数组变异方法,会改变数组本身的状态
//在数组的末尾添加一个元素 返回数组长度
arr.push({a:4})
//移除数组最后一个元素 返回移除的元素
arr.pop()


//在数组的首部添加一个元素 返回数组长度
arr.unshift()


//移除数组的第一个元素 返回移除的元素
arr.shift()


//万能方法 此方法可实现数组的增加 删除 以及改变元素位置;返回 删除的元素组成的数组若没有删除的元素则返回一个空数组 第一个执行操作的初始位置,第二个需要影响多少个元素,第三个及第三个以后表示插入多少个元素插入多少个元素;
let brr=[1,2,3,4,5,6];
let ret= brr.splice(0,5);//执行删除方法 从0号位元素开始包括第一个元素,删除五个元素,插入0个元素 返回删除的元素;
let ret2=brr.splice(0,5,5,4,3,2,1);//执行更换方法,从0号位元素开始包括第一个元素,删除五个元素,插入5,4,3,2,1元素 返回删除的元素
let ret3=brr.splice(0,0,99,99)//执行插入方法,从第0号元素开始,删除0个元素,插入99,99,返回删除的元素

// 数组排序 此方法可实现数组的自定义的排序 此方法每次遍历返的a的值由return,其内部有一个排序算法,感兴趣的可以自己打印了解,这里提供一个比较方便的记忆方法b-a为降序排列,a-b为升序排列,返回一个数组;
let arr2=[1,9,8,2,5,6];
let ret1=arr2.sort((a,b)=>{
return b-a;
});//注意 此方法放回的并不是一个全新的数组而是一个引用,其效果等同ret1=arr2;!!此方法也是一个变异方法
console.log("arr2",arr2);


// 以下为非变异方法
//使用指定的连接符拼接数组 返回一个字符串
let arr3=[1,2,3,4,5,6,4];
let str=arr3.join(',');
// console.log("str",str);//str 1,2,3,4,5,6,4 可使用join("")空字符串 返回1234564

//将数组内部的元素拼接成一个字符串 不能指定拼接字符串,如有拼接需求推荐使用join
let arr4=[1,2,3,4,5,6];
str= arr4.toString();
console.log('str',str);

// 拼接数组 将一个数组拼接至concat后 返回两个数组拼接的新数组
let concat=[1,2,3,4,5,6,7];
let concat1=[1,2,3,4,5,6,7];
let con=concat.concat(concat1);

猜你喜欢

转载自www.cnblogs.com/wrhbk/p/11017638.html