今天给大家分享的ES6中数组的方法和解析
includes()
作用:判断参数在不在数组中,用来取代indexOf/lastindexOf两个方法的,相比之下,includes更具语义化,配合if语句使用
注意:因为includes内部是通过三个等号判断的,因此它只能判断基本类型,不能判断引用类型
返回:在返回true,否则返回false
const arr = ['a','b','c','d']
console.log(arr.includes('a'));
输出
fill()
作用:用一个固定值 替换/填充 数组的元素,会改变原数组
语法:array.fill(value,[startindex = 0,endindex = arr.leng]),不包括结束位置
//1.全部替换
const arr = ['a','b','c','d']
arr.fill('ccc')
console.log(arr);
输出
//2.替换前两个
const arr = ['a','b','c','d']
arr.fill('ccc',0,3)
console.log(arr);
//3.创建一个长度为5,元素都是'ccc'的数组
console.log(Array(5).fill('ccc'));
输出
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);
})
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);
输出
###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);
今天的分享先到这里,觉得有用就点个赞吧