【vue】vue+ES6循环处理数组:map、filter、foreach、every、some、reduce、find、findIndex等方法(转载)
·
列举了一些实际项目中经常使用到的方法
一、map()方法:全部循环,不改变原数组,会生成新的数组。
test(){
let arr=[0,1,2,3,4];
let afterArr = arr.map(val => val+2)
console.log(arr);//[0, 1, 2, 3, 4]
console.log(afterArr);//[2, 3, 4, 5, 6]
},
二、foreach():全部循环,可以重新给原数组赋值
test(){
let arr=[0,1,2,3,4];
let afterArr = arr.forEach((val, idx) => arr[idx]=val+2)
console.log(arr);//[2, 3, 4, 5, 6]
console.log(afterArr);//undefined
},
三、filter():过滤出满足条件的部分数据,不会改变原数组,会生成新的数组
test(){
let arr=[0,1,2,3,4];
let result = arr.filter(one => one>2);
console.log(result); //[3,4]
},
四、every():若目标数组中每一个对象都符合条件则返回true,否则返回false
var a = [1,2,3,4,5];
a.every(function (value) {
return value < 10
}) //true
a.every(function (value) {
eturn value % 2 === 0
}) //false
五、some():若目标数组中某一个对象都符合条件则返回true,否则返回false
test(){
let arr=[0,1,2,3,4];
let every_result = arr.every(one => one>2);
let some_result = arr.some(one => one>2);
console.log(every_result); //false
console.log(some_result);//true
},
六、reduce():常用于叠加,可以代替forEach等
test() {
let arr = [0, 1, 2, 3, 4];
var sumValue = arr.reduce(function (sum, number) {
//第一个参数为叠加总值,需要初始化,第二个参数是当前项
return sum + number;
}, 0); //sum的初始化
console.log(sumValue); //10
},
七、find():在数组中找到符合要求的对象 和filter的区别就是找到符合要求的对象就停止寻找了,返回的是一个对象,而filter返回的是所有符合要求的对象组成的新数组
test() {
let arr = [0, 1, 2, 3, 4];
var big = arr.find(val => val>2);
console.log(big); //3
},
八、findIndex():findIndex返回第一个符合条件的索引号
test1() {
let arr = [1, 1, 2, 0, 4];
var big = arr.findIndex(val => val>2);
console.log(big); //下标为4
}
魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。
更多推荐


所有评论(0)