最近看了很多东西,数组就是其中之一,其实就是因为被面试官问到怀疑人生,所以花了很大功夫补足知识。Array就是其中之一,后面的东西也会慢慢从本子上迁移到这里。
js数组有很多的方法,便于我们操作,以下一一介绍:
-
filter()
该方法主要用于过滤数组,可以传入一个方法来筛选合适值,会返回一个新数组。
let array = [1,2,3,4,5,6]; let filterArray = array.filter((arr)=>{ return arr === 3; }); console.log(array,filterArray) //结果是[1,2,3,4,5,6] [3] -
every()
该方法主要用于判断数组中每一项是否都满足条件,只有所有项都满足条件才会返回true,否则返回false。
let array = [1,2,3,4,5,6]; let everyArray = array.every((arr)=>{ return arr % 2 === 0; }); console.log(everyArray) //结果是false -
some()
该方法主要用于判断数组中是否存在满足条件的项,只要有满足条件的项都就会返回true,否则返回false。
let array = [1,2,3,4,5,6]; let someArray = array.some((arr)=>{ return arr % 2 === 0; }); console.log(everyArray) //结果是true -
reduce()/reduceRight()
两个方法都会迭代数组中的所有项,返回一个最终值,不同的是reduce()是从数组中的第一项开始迭代,reduceRight()是从最后一项开始迭代,方法可以用于求和。
prev:它是上一次调用回调时返回的结果,每次调用的结果都会给prev
cur:当前的元素
index:当前的索引
arr:循环的数组
let array = [1,2,3,4,5,6]; let reduceArray = array.reduce((prev,cur,index,arr)=>{ return prev+cur }); console.log(reduceArray) //结果是21 -
map()
遍历数组,给数组每一个值做指定运算,最后会返回一个新数组。
let array = [1,2,3,4,5,6]; let mapArray = array.map((arr)=>{ return arr * 2; }); console.log(mapArray) //结果是[ 2, 4, 6, 8, 10, 12 ] -
forEach()
循环数组,作用类似for循环
let array = [1,2,3,4,5,6]; array.forEach(arr=>{ console.log(arr); }); //结果是 1,2,3,4,5,6 -
indexOf( str, index )/lastIndexOf()
indexOf( value,index)查找元素value在数组中的位置,index是初始位置,不写的话默认从头开始。
lastIndexOf(str, start) 方法可返回一个指定的字符串值最后出现的位置,如果指定第二个参数 start,则在一个字符串中的指定位置从后向前搜索。
-
splice()
可以实现插入、删除、替换,很有用。
-
slice(start,end)
从原数组中指定下标到结束下标中的项组或者组成新的数组,返回的数组包括start元素,不包括end元素。
let array = [1,2,3,4,5,6]; let sliceArray = array.slice(2,4); console.log(sliceArray); //结果是 [ 3, 4 ] -
concat()
连接两个数组,将两个数组合成一个数组,不改变原来数组。
let array1 = [1,2,3,4,5,6]; let array2 = [1,2,3,4,5,6]; let concatArray = array1.concat(array2) console.log(concatArray); //结果是 [ 1, 2, 3, 4, 5, 6, 1, 2, 3, 4, 5, 6 ] -
reverse()
翻转数组顺序,会改变原来数组。
let array = [1,2,3,4,5,6]; let reverseArray = array.reverse() console.log(reverseArray); //结果是 [ 6, 5, 4, 3, 2, 1 ] -
sort()
排序功能
let array = [8,2,7,0,5,6]; array.sort((a,b)=>{ if(a>b){ return a; } }) console.log(array); //结果是 [ 0, 2, 5, 6, 7, 8 ] -
shift()/unshift()
shift() 方法用于把数组的第一个元素从其中删除,并返回第一个元素的值。
unshift()方法用于向数组的第一位插入一个值,会改变数组长度。
let array = [8,2,7,0,5,6]; array.shift(8) console.log(array); //结果是 [ 2, 7, 0, 5, 6 ] let array = [8,2,7,0,5,6]; array.unshift(9) console.log(array); //结果是 [ 9, 8, 2, 7, 0, 5, 6 ] -
push()/pop()
一个添加一个删除,不多说了....
-
join()
该方法可以将数组生成一个字符串,原数组保持不变。可以添加字符串分割方式,扩展下字符串变数组可以用split()方法。
let array = [8,2,7,0,5,6]; let joinArray = array.join(','); console.log(array,joinArray); //结果是 “827056”
先整理这么多,后面会在补充
Time is fair, because it gives everyone 24 hours.