js 数组操作方法

不会改变原数组的

1.join()

功能:将数组中所有元素都转化为字符串并连接在一起。自己指定用什么符号分隔

2. concat()

功能:数组拼接的功能 ,返回新数组

3.slice()

截取数组生成新数组,原数组不受影响。
返回的数组包含第一个参数指定的位置和所有到但不含第二个参数指定位置之间的所有元素(start,end)。如果为负数,则值为这个负数+数组长度。如果只有一个参数,表示到数组末尾。

var a = [9, 5, 8, 2];
console.log(a.slice(0,2)); // [9, 5]
console.log(a);            // [9, 5, 8, 2]
console.log(a.slice(1,-2));// [5]
console.log(a.slice(1));   // [5, 8, 2]

4. toString()和toLocaleString()

将数组的每个元素转化为字符串,并且输入用逗号分隔的字符串列表。功能类似join();

5.indexOf()和lastIndexOf()

indexOf() 两个参数:要查找的项和(可选的)表示查找起点位置的索引。没有第二个参数的时候, 从数组的开头(位置 0)开始向后查找。没找到返回-1. 返回查找项的索引值
lastIndexOf() 从数组的末尾开始向前查找。返回查找项的索引值,没找到返回-1

6.forEach()

var arr = [1,3,5,7,8];
arr.forEach((item,index,arr)=>{
    console.log(item); //每一项数组元素
    console.log(index); //元素索引值
    console.log(arr); //数组本身 不会改变原数组
})

7.map()

调用的数组的每一个元素传递给指定的函数,并返回一个新数组 ,不修改原数组。

var arr = [2,3,4,5,6];
var bb= arr.map(function(item,index,arrs){
  return item*item;
});
console.log(bb); //[4, 9, 16, 25, 36]
console.log(arr);//[2, 3, 4, 5, 6]

8.filter()

过滤功能,数组中的每一项运行给定函数,返回满足过滤条件组成的数组。
可以巧妙的用来去重

var arr = [1,8,3,4,5,6,3,1];
arr.filter(function(item,index,arr){
  return arr.indexOf(item) == index;
});
// [1, 8, 3, 4, 5, 6]
console.log(arr); // [1, 8, 3, 4, 5, 6, 3, 1]

9.reduce()和reduceRight()

reduce() 是数组的归并方法,与forEach()、map()、filter()等迭代方法一样都会对数组每一项进行遍历,但是reduce() 可同时将前面数组项遍历产生的结果与当前遍历项进行运算

arr.reduce(function(prev,cur,index,arr){
...
}, init);

具体应用场景可以详见:https://www.cnblogs.com/amujoe/p/11376940.html

reduceRight() 该方法用法与reduce()其实是相同的,只是遍历的顺序相反,它是从数组的最后一项开始,向前遍历到第一项。

会改变原数组

1. reverse()

功能:将数组中的元素颠倒顺序。

2. splice()

功能:从数组中删除元素、插入元素到数组中或者同时完成这两种操作。
输入:第一个参数为指定插入或删除的起始位置第二个参数为要删除的个数。之后的参数表示需要插入到数组中的元素 。如果只有一个参数,默认删除参数后边的所有元素。
输出:返回一个由删除元素组成的数组。
注意:新建了一个数组,并修改了原数组

var a = [1,2,3,4,5,6];
console.log(a.splice(4)); //[5,6]  返回删除后的数组
console.log(a);           // [1,2,3,4]原数组改变
console.log(a.splice(2,2)); //[3,4] 从第二位起删除两个元素
console.log(a);             //[1,2]
console.log(a.splice(1,0,7,8)); //从第一位起删除0个元素,添加7,8到原数组
console.log(a);                  //[1,7,8,2]

3.push()

在数组末尾添加一个或多个元素,并返回新数组长度

4. pop()

从数组末尾删除1个元素(删且只删除1个), 并返回 被删除的元素

5. shift()

在数组开始删除一个元素(删且只删除1个),并返回 被删除的元素

6. unshift()

在数组开始添加一个或多个元素,并返回新数组长度

7.sort()

会改变原数组

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值