数组方法二

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

 

以上是关于数组方法二的主要内容,如果未能解决你的问题,请参考以下文章

数组方法二

shell之数组

js中数组的操作方法

数组去重的5种方法

Java数组的使用

JS:数组扁平化、去重、排序