数组方法总结
数组方法
1.Array.from(v) : 将伪数组对象或可遍历对象转换为真数组
2.Array.of(v1, v2, v3) : 将一系列值转换成数组
3.find(function(item, index, arr){return true}) : 找出第一个满足条件返回true的元素
4.findIndex(function(item, index, arr){return true}) : 找出第一个满足条件返回true的元素下标
5 splice() 添加/删除数组元素
定义: splice() 方法向/从数组中添加/删除项目,然后返回被删除的项目 语法:array.splice(index,howmany,item1,…,itemX)
参数: index:必需:整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。
howmany:可选。要删除的项目数量。如果设置为 0,则不会删除项目。
item1, …, itemX: 可选。向数组添加的新项目。
返回值: 如果有元素被删除,返回包含被删除项目的新数组。
let a = [1, 2, 3, 4, 5, 6, 7];
let item = a.splice(0, 3); // [1,2,3]
console.log(a); // [4,5,6,7] // 从数组下标0开始,删除3个元素
let item = a.splice(-1, 3); // [7] // 从最后一个元素开始删除3个元素,因为最后一个元素,所以只删除了7
6. sort() 数组排序
定义: sort()方法对数组元素进行排序,并返回这个数组。
var a = [10, 1, 3, 20,25,8]; console.log(a.sort()) // [1,10,20,25,3,8];
7. pop() 删除一个数组中的最后的一个元素
let a = [1,2,3]; let item = a.pop(); // 3 console.log(a); // [1,2]
8. shift() 删除数组的第一个元素
定义: shift()方法删除数组的第一个元素,并返回这个元素。
let a = [1,2,3]; let item = a.shift(); // 1 console.log(a); // [2,3]
9. push() 向数组的末尾添加元素
定义:push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
参数: item1, item2, …, itemX ,要添加到数组末尾的元素
let a = [1,2,3];
let item = a.push(‘末尾’); // 4
console.log(a); // [1,2,3,‘末尾’]
-
unshift() 定义:unshift() 方法可向数组的开头添加一个或更多元素,并 返回新的长度。
参数: item1, item2, …, itemX ,要添加到数组开头的元素
let a = [1,2,3];
let item = a.unshift(‘开头’); // 4
console.log(a); // [‘开头’,1,2,3] -
reverse() 颠倒数组中元素的顺序 定义: reverse() 方法用于颠倒数组中元 素的顺序。
参数: 无
let a = [1,2,3];
a.reverse();
console.log(a); // [3,2,1] -
slice() 浅拷贝数组的元素 定义: 方法返回一个从开始到结束(不包括结束) 选择的数组的一部分浅拷贝到一个新数组对象,且原数组不会被修改。
注意:字符串也有一个slice() 方法是用来提取字符串的,不要弄混了。
参数:array.slice(begin, end); begin(可选): 索引数值,接受负值,从该索引处开始提取原数组中的元素,默认值为0。
end(可选):索引数值(不包括),接受负值,在该索引处前结束提取原数组元素,默认值为数组末尾(包括最后一个元素)。 let a= [‘hello’,‘world’];
let b=a.slice(0,1); // [‘hello’] -
join() 数组转字符串 定义: join() 方法用于把数组中的所有元素通过指定 的分隔符进行分隔放入一个字符串,返回生成的字符串。
let a= [‘hello’,‘world’];
let str=a.join(); // ‘hello,world’ let str2=a.join(’+’); // ‘hello+world’ -
cancat 定义: 方法用于合并两个或多个数组,返回一个新数组。
let a = [1, 2, 3]; let b = [4, 5, 6];
//连接两个数组:
let newVal=a.concat(b); // [1,2,3,4,5,6] -
includes() 查找数组是否包含某个元素 返回布尔 定义: 返回一个布尔 值,表示某个数组是否包含给定的值:
var arr = [1, 2, 8, 6, 4, 6, 9, 7, 3];
16.输出第一个6的下标
console.log(arr.indexOf(6));
17.输出最后一个6的下标
console.log(arr.lastIndexOf(6));
18.输出所有元素的值和下标
/arr.forEach(function (item, index, arr) { //遍历数组,每次将遍历的数据取出来作为item传入,当前下标作为index传入,整个数组作为arr传入 console.log(item, index, arr); })/
19. 根据arr产生一个新数组,要求每个元素都比原来大10 /var newArr = arr.map(function (item, index) { //遍历数组,创建新数组,新数组每一项值就是return返回值。返回item + 10 return item + 10; }) console.log(newArr);/
20. 根据arr产生一个新数组, 返回的每个元素要大于4 /var newArr = arr.filter(function (item, index) { //过滤商品 //遍历数组,创建新数组,新数组保留着return返回值为true的值 return item > 4; }) console.log(newArr);/
21. 输出arr所有元素累加的结果 var result = arr.reduce(function (previous, current) { //统计,求和 // previous 先前的值,上一项的值 // current 当前的值,当前遍历的元素的值 // 初始化previous为0,下一次遍历previous的值就是上一次的return返回值 return previous + current; })