ES6|ES6 中 数组新增的方法小结
【ES6|ES6 中 数组新增的方法小结】ES6中新增的方法有:
- Array.isArray(): 判断是否是一个数组
- forEach(): 对数组进行遍历操作
- map(): 遍历数组,可以对数组的每一项做相关的操作,并且会返回一个新数组,不会改变原来数组
- filter(): 遍历数组的每一项,如果数组中某个元素满足某个条件,将当前的元素push到一个新数组中
- some(): 把数组的每一项和某个条件进行 对比,如果有一个符合条件,就会返回 true,否则返回false
- every():把数组的每一项和某个条件进行 对比,如果全部符合条件,就会返回 true,否则返回false
1、Array.isArray():
var s = '代码测试 Array.isArray';
console.log(Array.isArray(s))// falsevar arr = [];
console.log(Array.isArray(arr));
// truevar obj = {};
console.log(Array.isArray(obj));
// false
2、forEach():
var arr = ['12','13','-12','0','8'];
// 遍历数组,并且给每一项都加上 10
// index 代表数组的下标,value 代表数组元素的值, array 就是遍历的数组本身
arr.forEach(function(value,index,array){
//console.log("%c" + index + '======' + value,'color:red;
')// 加上 10
arr[index] =String( Number(value) + 10 );
});
console.log(arr);
// ["22", "23", "-2", "10", "18"]var arr = [1,2,,3,5];
arr.forEach(function(index,val){
});
console.log(arr);
//[1, 2, empty, 3, 5];
var arr = [1,2,,3,5];
var obj={};
arr.forEach(function(val,index){
return obj[index] = val
});
console.log(obj);
//{0: 1, 1: 2, 3: 3, 4: 5}
3、map():
注意:map 的函数中 需要用 return 返回值
var arr = [12,34,4,-1,10,66];
// 每个值 加上10
// map 循环数组以后会生成一个 新的数组,所以需要定义一个变量 接受处理后的数据var newArr = arr.map(function(value,index,array){
return value + 10
});
console.log(newArr);
// [22, 44, 14, 9, 20, 76]// map 不使用return
var arr = [1,2,,3,5];
var a = arr.map(function(index,val){
});
console.log(a);
//[undefined, undefined, empty, undefined, undefined]//使用return
var arr = [1,2,,3,5];
var a = arr.map(function(index,val){
return index;
});
console.log(a);
//[1, 2, empty, 3, 5]
4、filter():
var arr = [59,60,90,50,32,78];
//需要挑选出 值大于 60 的元素var newArr = arr.filter(function(value,index){return value > 60
});
// filter 和 map 处理后会返回一个 新的数组,如果没有 满足的条件的元素 会返回 一个空数组
console.log(newArr);
// [90,78]//需要挑选出 值大于 99 的元素var newArr2 = arr.filter(function(value,index){return value > 99
});
console.log(newArr2);
// 返回值是 []
5、some():
var arr = [12,13,44,45,78];
var res = arr.some(function(value,index){// 判断 arr 中是否 有大于 80 的元素
return value > 80
});
console.log(res);
// false// 我们还可以 利用 some 这个方法 去判断 数组中是否包含某个元素var res2 = arr.some(function(value,index){// 判断 数组中是否有 12
return value =https://www.it610.com/article/== 12});
console.log(res2);
// true
6、every():
var arr = [12,13,14,44,56,9];
// 判断 是否 所有的元素 都大于 10var res = arr.every(function(value,index){return value >10
});
console.log(res);
// false
小结:除了 forEach() 不需要用变量接受返回值,其他剩下遍历 数组的方法都要 用一个变量去接收;forEach 是对原数组进行操作,其他的都不会 破坏原数组
推荐阅读
- 热闹中的孤独
- Shell-Bash变量与运算符
- JS中的各种宽高度定义及其应用
- 2021-02-17|2021-02-17 小儿按摩膻中穴-舒缓咳嗽
- 深入理解Go之generate
- 异地恋中,逐渐适应一个人到底意味着什么()
- 我眼中的佛系经纪人
- 《魔法科高中的劣等生》第26卷(Invasion篇)发售
- “成长”读书社群招募
- 2020-04-07vue中Axios的封装和API接口的管理