有几个特殊的数组的操作方式,是ESMA5新增的方法
①indexOf():参考以前的博文https://blog.youkuaiyun.com/MixedSignals/article/details/105059792
②forEach():参考以前的博文https://blog.youkuaiyun.com/MixedSignals/article/details/105059408
③map()方法:映射数组,所谓的映射就是将当前数组的内容一一对应,生成一个新的数组。数据组中数据单元的个数,与之前数组的单元个数一样。数组的数值与之前的数值可以不一样。
数组.map(function( value , key , arr ){需要执行的操作})
参数1:存储数组单元的数据
参数2:存储数组单元的索引
参数3:存储原始数组
var arr = [1,2,3,4,5,6];
var res = arr.map(function(v){
return v *= 2;//return的是新数组中的数值与原始数组中的数值的映射关系,当前设定的是乘2的关系
})
console.log(res);//结果为2,4,6,8,10,12
④filter():过滤数组,将符合条件的数据作为返回值
数组.filter(function(value,key,array){操作的程序})
var arr = [1,2,3,4,5,6];
var res = arr.filter(function(v){
if(v >= 3){//将小于3的值过滤掉
return v;
}})
console.log(res);//结果为3,4,5,6
⑤some():数组中是否有满足条件的数据(有1个就行)
数组.some(function(value,key.arr){})
var arr = [1,2,3,4,5,6];
var res1 = arr.some(function(v){
return v >= 6;//检测数组中是否有大于或等于6的数据
})
console.log(res1);//结果为true
⑥every():数组中所有的数据是否都满足条件(必须全部满足)
var arr = [1,2,3,4,5,6];
var res2 = arr.every(function(v){
return v >= 3;//检测数组中是否全部值都大于或等于3
})
console.log(res2); //结果为false