ES6 · 数组的扩展

137 阅读2分钟

今天给大家分享的ES6中数组的方法和解析

includes()

作用:判断参数在不在数组中,用来取代indexOf/lastindexOf两个方法的,相比之下,includes更具语义化,配合if语句使用

注意:因为includes内部是通过三个等号判断的,因此它只能判断基本类型,不能判断引用类型

返回:在返回true,否则返回false

const arr = ['a','b','c','d']
console.log(arr.includes('a'));

输出

image.png

fill()

作用:用一个固定值 替换/填充 数组的元素,会改变原数组

语法:array.fill(value,[startindex = 0,endindex = arr.leng]),不包括结束位置

//1.全部替换
const arr = ['a','b','c','d']
arr.fill('ccc')
console.log(arr);

输出

image.png

//2.替换前两个
const arr = ['a','b','c','d']
arr.fill('ccc',0,3)
console.log(arr);

image.png

//3.创建一个长度为5,元素都是'ccc'的数组
console.log(Array(5).fill('ccc'));

输出

image.png

forEach()

forEach(el,index,arr)=>{})

作用:遍历数组,增强版的for循环

返回:无返回值

语法:array.forEach((el,index,arr)=>{ el:数组中的每项元素 index:每项元素在数组中的下标/索引 array:数组本身

查看数组的实例方法:Array.prototype })

arr.forEach((el,index,arr)=>{
  console.log(el,index,arr);
})

image.png

filter()

作用:用指定条件,对数组进行过滤,留下一部分,去掉一部分

返回:满足条件的新数组

语法:array.filter((item,index,arr)=>{ 回调的参数和forEach回调参数是一样的 return true,回调返回true,则当前item会放入到返回的数组中 return false,回调返回false,则当前item不会放入到返回的数组中 })

const arr = ["a", "b", "c", "d"];
const result = arr.filter((item, index, arr) => {
  // 找出b
  return item.startsWith("b");
});
console.log(result);

输出

image.png ###find()

作用:根据指定条件,对数组进行查找

返回:如果找到了,返回第一个满足条件的元素;否则返回undefined

语法:array.find((item,index,arr)=>{})

return true,表示item符合条件,返回item,就结束查找

return false,则当前item不符合条件,继续查找

filter()可以找多个满足条件的元素,而find()只找一个满足条件的元素

const arr = ["a", "b", "c", "d"];
const result = arr.find((item) => item.startsWith("b"));
console.log(result);

今天的分享先到这里,觉得有用就点个赞吧