我是靠谱客的博主 淡定溪流,最近开发中收集的这篇文章主要介绍数组方法forEach,filter,some,every,reduce,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

1.数组方法

迭代遍历方法:forEach(),map(),filter(),some(),every()

1.1.forEach方法
arr.forEach(function(value,index,array){
console.log("每个数组元素当前的值"+value);
console.log("每个数组元素的索引号"+index);
console.log("数组本身"+array);
sum+=value;//求和
});

forEach 性能不好,若forEach开始,中间不能停掉终止,从头循环到尾

1.2.filter()方法

用于筛选数组,注意直接返回一个新数组

var newarr=arr.filter(function(value,index,array){//可省略
return value>1;//筛选>1的数
});
1.3.some()方法
  • 用于查找数组中是否有满足条件的元素

  • 它的返回值是布尔值,找到就返回true,找不到返回false

  • 如果找到第一个满足条件的元素则 return true终止循环,不再继续查找

var arr=[2,3,'pink','k'];
var newarr=arr.some(function(value,index,arr){ //参数可省略
return value=='pink';
});
console.log(newarr);//true
arr.some(item,index)=>{
if(item=='pink'){
console.log(index)
return true
//找到满足条件的元素则 return true固定语法,终止循环
}
}
1.4 every()方法
const arr = [
{id: 1,name: 'zs',stasus: true},
{id: 2,name: 'zs1',stasus: true},
{id: 3,name: 'zs3',stasus: true
}]
//判断数组中,是否全选
const result = arr.every(item => item.stasus)
// const result = arr.every(item => item.stasus == true)
console.log(result); //true
//若任何一项不为true 则返回false

返回值是布尔值

1.5 reduce() 方法
//已勾选item.state为true的name,总价累加起来
// 1.
let amt = 0 //总价
arr.filter(item => item.state).forEach(item => {
amt += item.price * item.count
});
//console.log(amt);
// 2.reduce
// arr.filter(item => item.state).reduce((累加的结果, 当前循环项目) => {}, 初始值);
arr.filter(item => item.state).reduce((amt, item) => {
return amt += item.price * item.count
}, 0); //初始值为0
console.log(amt);

最后

以上就是淡定溪流为你收集整理的数组方法forEach,filter,some,every,reduce的全部内容,希望文章能够帮你解决数组方法forEach,filter,some,every,reduce所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部