数组方法有很多,不是所有的方法,都经常用到的,经常不用难免会忘记,今天整理一下,回忆一下,也方便以后自己开发查询api。
一、改变原数组的方法9个
ES5:
pop() shift() push() unshift() reverse() splice() sort()
ES6:
copyWithin() fill()
pop() 删除数组中的最后的一个元素,返回 被删除的元素
let arr = [1,2,3];
let returnedValue= arr.pop();
// arr [1,2] returnedValue 3
shift() 删除数组的第一个元素 返回 被删除的元素
let arr = [1,2,3];
let returnedValue= arr.shift();
// arr [2,3] returnedValue 1
push() 向数组的末尾添加一个或多个元素 返回 新数组长度
let arr = [1,2,3];
let returnedValue= arr.push('a');
// arr [1,2,3,'a'] returnedValue 4
unshift() 向数组开头添加一个或多个元素 返回 新数组长度
let arr = [1,2,3];
let returnedValue= arr.unshift('a');
// arr ['a',1,2,3] returnedValue 4
reverse() 颠倒数组中元素的顺序 返回 返回当前数组
let arr = [1,2,3];
let returnedValue= arr.reverse();
// arr [3,2,1] returnedValue [3,2,1]
splice() 添加/删除数组元素 返回 数组,被删除的元素数组
从数组中添加/删除项目,然后返回被删除的项目
语法: array.splice(开始位置,删除多少个,...添加的元素)
let arr = [1,2,3];
let returnedValue= arr.splice(0,3,'a','b'); // 从index0开始删除,删除3个,最后添加
// arr ['a','b'] returnedValue [1,2,3]
sort() 数组排序 返回当前数组
let arr = [3,2,1];
let returnedValue= arr.sort();
// arr [1,2,3] returnedValue [1,2,3]
ES6: copyWithin() 指定位置的成员复制到其他位置 返回当前数组
copyWithin(被替换位的开始 target,被复制的开始位置 start,被复制的结束位置 end)
target(必需):从该位置开始替换数据。如果为负值,表示倒数。
start(可选):从该位置开始读取数据,默认为 0。如果为负值,表示倒数。
end(可选):到该位置前停止读取数据,默认等于数组长度。使用负数可从数组结尾处规定位置。
let arr = [1,2,3,'a'];
let returnedValue= arr.copyWithin(0,2,3);
// arr [3, 2, 3, "a"] returnedValue [3, 2, 3, "a"]
ES6: fill() 填充数组
fill(填充的元素,起始位置,结束位置)
let arr = [1,2,3];
let returnedValue= arr.fill("a",1,2);
// arr [1, "a", 3] returnedValue [1, "a", 3 ]
二、不改变原数组的方法8个
ES5:
join() toLocateString() toString() slice() cancat() indexOf() lastIndexOf()
ES7:
includes()
join() 数组转字符串 返回字符串
join(数组元素连接符默认值 , )
let arr = [1,2,3];
let returnedValue= arr.join();
// arr [1,2,3] returnedValue '1,2,3'
toLocaleString() 数组转字符串 返回字符串
返回一个表示数组元素的字符串。该字符串由数组中的每个元素的 toLocaleString() 返回值经调用 join() 方法连接(由逗号隔开)组成。
let arr = [1,2,3,{name:'b-boy'}];
let returnedValue= arr.toLocaleString();
// arr [1,2,3,{name:'b-boy'}] returnedValue '1,2,3,[object Object]'
toString() 数组转字符串 返回字符串
let arr = [1,2,3];
let returnedValue= arr.toString();
// arr [1,2,3] returnedValue '1,2,3'
slice() 方法可从已有的数组中返回选定的元素。返回选定的数组
slice(开始位置,结束位置) 不包含结束位置
let arr = [1,2,3];
let returnedValue= arr.slice(0,2);
// arr [1,2,3] returnedValue [1,2]
concat() 方法用于连接两个或多个数组 返回合并后的数组
let arr = [1,2,3];
let returnedValue= ['a','b'].concat(arr);
// arr [1,2,3] returnedValue ['a','b,1,2,3]
indexOf() 查找数组是否存在某个元素,返回下标 不存在返回 -1
let arr = [1,2,3,'a'];
let returnedValue=arr.indexOf('a');
// arr [1,2,3,'a'] returnedValue 3
lastIndexOf() 查找指定元素在数组中的最后一个位置 不存在 返回 -1
let arr = [1,'a',2,3,'a'];
let returnedValue=arr.lastIndexOf('a');
// arr [1,'a',2,3,'a'] returnedValue 4
ES7 includes() 查找数组是否包含某个元素 返回布尔
let arr = [1,'a',2,3,'a'];
let returnedValue=arr.includes('a');
// arr [1,'a',2,3,'a'] returnedValue true
end。