javaScript中数组常用方法总结

180 阅读2分钟

1.Array.map()

map()方法接收一个函数,该函数遍历数组中的所有项并进行相应的修改。

const articles=[{id:0,title:'《悲惨世界》',views:1258},{id:1,title:'《飘》',views:1580},{id:1,title:'《活着》',views:2233}]

基于以上数组,获取所有的title组成的数组,利用map方法

const titles=articles.map((item)=>item.title) //输出结果为['《悲惨世界》','《飘》','《活着》']

2.Array.filter()

filter()方法用于过滤数组元素

filter()方法根据特定条件获取数组中的元素,同.map()一样,将返回一个新数组,并保持原始数组不变。

基于上面的 articles 数组,分别获取 views 小于 2000 的和大于 2000 的数组列表

const less=articles.filter((item=>item.views<2000)) //输出结果为:[{id:0,title:'《悲惨世界》',views:1258},{id:1,title:'《飘》',views:1580}] const much=articles.filter((item=>item.views>2000)) //输出结果为:[{id:1,title:'《活着》',views:2233}]

3.Array.forEach()

forEach()方法很像常规的for循环,遍历一个数组并在每个元素上执行一个函数。.forEach() 的第一个参数是回调函数,它包含循环数组的当前值和索引。

articles.forEach((item,index)=>{
    console.log(`文章索引为${index}的标题为${item.title}`)
}) 
//输出结果为:文章索引 0 的标题为《悲惨世界》
             文章索引 1 的标题为《飘》
             文章索引 2 的标题为《活着》

4.Array.every()

.every()方法将检查数组中的每个元素是否都通过提供的条件,如果数组中的所有元素都通过条件,则将返回 true ,如果没有,将返回 false。

检查articles数组所有文章的views是否有超过2000的文章

const over = articles.every((item) => item.views > 2000);
console.log(over); // true

5.Array.some()

.some() 方法和 .every() 方法类似,但验证的结果是相反的,如果数组中的所有元素只要有一个通过条件,则将返回 true ,如果所有的元素都不通过条件,将返回 false。

检查articles数组所有的文章,是否有views超过3000的

const isMore = articles.some((item) => item.views > 3000);
console.log(isMore);  // false