属性方法:
-
Array.form()
: 类数组转数组形成一个新数组 -
Array.of()
: 根据传入参数,创建新数组对象 -
Array.isArray()
: 判断某变量是否是一个数组修改器方法(改变原数组)
-
Array.copyWithin(index1,index2)
: 将index2 位置的数值替换掉index1的位置上的数值,数组长度不变
const array1 = ['a', 'b', 'c', 'd', 'e']; // copy to index 0 the element at index 3 console.log(array1.copyWithin(0, 3, 4)); // ["d", "b", "c", "d", "e"] // copy to index 1 all elements from index 3 to the end console.log(array1.copyWithin(1, 3)); // ["d", "d", "e", "d", "e"]
-
-
array.fill(data,value1,value2)
:替换,将data把索引value1到索引value2(不包括value2)的值替换掉const array1 = [1, 2, 3, 4]; // fill with 0 from position 2 until position 4 console.log(array1.fill(0, 1, 3)); // [1, 2, 0, 0] // fill with 5 from position 1 console.log(array1.fill(5, 1)); // [1, 5, 5, 5] console.log(array1.fill(6)); // [6, 6, 6, 6]
-
pop
: 删除数组最后一个元素,返回删除的元素 -
push
: 末尾添加一个元素,返回数组新长度 -
shift
:删除第一个元素,返回删除元素 -
unshift
: 数组开头添加一个或者多个元素,返回新长度 -
reverse
: 数组顺序倒置 -
sort
: 数组排序,返回当前数组 -
splice(start,deleteCount,item1……)
: 数组增删改,改变原数组,返回修改的的内容
start:
开始位置(索引)从0开始,若果数值大于数组长度,则从数组的末尾开始,负值则从数组末尾的第几个,如果过负值的绝对值大于长度,则从0开始
deleteCount:
表示要删除的元素个数,
deleteCount大于start之后元素的总数,start后面的元素都将删除(含start位)
deleteCount被省略,则start后边的值都被删除
若果deleteCount是0,或者负整数,不移除,但至少添加一个新元素
item1,item2,……
可选, 要添加进数组的元素,从start
位置开始。如果不指定,则splice()
将只删除数组元素
访问方法(不改变原数组)
-
concat()
:数组拼接,返回拼接后的新数组const array1 = ['a', 'b', 'c']; const array2 = ['d', 'e', 'f']; array1.concat(array2); //["a", "b", "c", "d", "e", "f"]
-
includes()
: 判断当前数组是否包含某个指定的值,是返回投入true,否返回false -
join()
: 连接所有数组0返回一个字符串 -
slice(a,b)
: 字符串截取索引a到b(不包括b),组成一个新数组const ary=['a', 'b', 'c']; console.log(ary.includes('a'));//true console.log(ary.join(''));//abc console.log(ary.slice(0,1));//["a"]
-
indexOf()
:返回数组中搜索的第一个索引,如果找不到这样的元素,返回-1 -
lastIndexOf()
:返回数组指定值的最后一个索引,找不到返回-1
迭代方法
-
forEach(fn)
:为数组的每一个元素执行一次回调函数。 -
every(fn)
数组中每一个元素都满足回调测试,返回投入true,否则返回false -
some(fn)
:至少有一个值满足回调测试返回true,否则返回false -
filter(fn)
:将所有在过滤函数中返回true的元素,放到一个新数组中 -
find(fn)
: 找到第一个满足测试函数的元素并返回那个元素的值,如果找不到,则返回undefined
。 -
findIndex(fn)
找到第一个满足测试函数的元素并返回那个元素的索引,如果找不到,则返回-1
与indexOf
类似。 -
map(fn)
数组中的每个元素都调用一个提供的函数后返回的结果,放到新数组中const array1 = [1, 30, 39, 29, 10, 13]; //=>forEach console.log(array1.forEach(item => console.log(item *2)); //=>every console.log(array1.every(item => item < 40);// true //=>some console.log(arry1.some(item=>item>30))// true //=>filter const words = ['spray', 'limit', 'elite', 'exuberant', 'destruction', 'present']; const result = words.filter(word => word.length > 6); console.log(result); //["exuberant", "destruction", "present"] //=>find console.log(array1.find(element => element > 10)) //30 console.log(array1.find(element => element > 50)) //undefined //=>findIndex console.log(array1.findIndex((element) => element > 13));//1 //=>map console.log(array1.findIndex((element) => element*2));//[2, 60, 78, 58, 20, 26]
-
reduce(fn)
从左到右为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。const array1 = [1, 2, 3, 4]; const reducer = (accumulator, currentValue) => accumulator + currentValue; //=> 1 + 2 + 3 + 4 console.log(array1.reduce(reducer));//10 // 5 + 1 + 2 + 3 + 4 console.log(array1.reduce(reducer, 5));//15
-
reduceRight(fn)
: 从右到左为每个数组元素执行一次回调函数,并把上次回调函数的返回值放在一个暂存器中传给下次回调函数,并返回最后一次回调函数的返回值。
网友评论