数组方法二
Posted xinxinxiangrong7
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了数组方法二相关的知识,希望对你有一定的参考价值。
filter:过滤,不操作原数组,返回过滤后的数组,返回true ,这一项就放到新数组
一般用于删除
let newAry=[3,5,2,8,9,4,0].filter(function (item) return item>2 && item<5 ) console.log(newAry);//[3、4]
forEach :循环,没有 return 返回值
let arr = [2,4,5,7,1]; arr.forEach(function (item)//声明式,不关心如何实现 console.log(itme); )
for(let i=0; i<arr.length;i++)//编程式
console.log(arr[i]);
for(let key in arr)//key会变成字符串类型
for(let val of arr)//支持return,并且是值of数组,不能遍历对象
面试题:forEach、for、for in,for of的区别
for in 能打印数组的私有属性
for of 支持return,不能遍历对象
includes (ES6):查看数组是否包含,返回boolean类型
let arrf = [2,5,7,9];
arrf.includes(5);
find(ES6):找到具体的那一项,不改变原数组,返回true 表示找到了,找到就结束循环,找不到返回undefined
//需求:找到用户名
let resule = arr3.find(function(itme,index) return itme == ‘xxx‘ )
console.log(resule);//xxx
keys:方法返回一个包含数组中每个索引键的Array Iterator
对象。
var array1 = [‘a‘, ‘b‘, ‘c‘]; var iterator = array1.keys(); for (let key of iterator) console.log(key); // expected output: 0 1 2
map:映射 ,将原有的数组映射成一个新数组,不操作原数组,返回新数组,回调函数中返回什么这一项就是什么
一般用于更新,修改
//需求[1,2,3]变成 <li>1</li><li>2</li><li>3</li>
let arr1 = [1,2,3].map(function (item)
return `<li>$itme<li>`//es6中的模板字符串,遇到变量使用$取值
)
console.log(arr1.join(‘‘));
reduce :收敛,4个参数,返回叠加后的结果,原数组不变,回调函数返回
let some=[1,3,4,5].reduce(function (prev,next,index,item)//第一项,第二项,索引,原数组
console.log(prev,next);
return prev+next
)
console.log(some);
//计算多维数组
let some2=[pirce:30,count:2,pirce:50,count:2,pirce:40,count:2];
let some3=some2.reduce(function (prve,next)
return prve+next.pirce*next.count;
,0)//0是默认指定第一次的prve
console.log(some3);//240
//多维数组变成一维数组
let some4 = [[1,2,3],[4,5,6],[7,8,9]];
let some5 = some4.reduce(function (prve,next)
return prve.concat(next);
)
console.log(some5);//[1,2,3,4,5,6,7,8,9]
some :找到返回turn,找到true后停止,找不到返回false
every:找到false后停止,找到返回false
以上是关于数组方法二的主要内容,如果未能解决你的问题,请参考以下文章