array splice php w3c,JavaScript学习笔记:数组的concat()、slice()和splice()方法

本文详细介绍了JavaScript中用于操作数组的concat()、slice()和splice()方法。concat()用于合并数组,不会改变原数组;slice()返回数组的一部分浅拷贝;splice()则能添加或删除数组元素,会直接修改原数组。通过实例展示了这三个方法的用法及区别,帮助读者更好地理解和运用这些方法。
摘要由CSDN通过智能技术生成

JavaScript为操作已经包含在数组中的项提供了很多方法。比如push()、pop()、shift()和unshift()实现数组的增删操作、sort()和reverse()对数组项进行排序操作。今天学习操作数组的其他方法:concat()、slice()和splice()。

concat()方法

concat()方法可以简单的将其理解为合并数组。基于当前数组中的所有项创建一个新数组。简单的说,concat()先给当前数组创建一个副本,然后将接收到的参数添加到这个副本(数组)的末尾,最后返回一个新的数组。来看个简单的示例:

var arr = [`大漠`,'30','W3cplus'];

console.log(arr); // ["大漠", "30", "W3cplus"]

var arr2 = arr.concat('Blog','2014');

console.log(arr2); // ["大漠", "30", "W3cplus", "Blog", "2014"]

上面代码演示的concat()方法传递的值不是数组,这些值就会简单添加到结果数组(arr2)的末尾。

除此之外,concat()传递的值还有其他的使用方法:同时传递一个或多个数组,如下所示:

var arr = ["大漠","30"];

console.log(arr); // ["大漠", "30"]

var arr2 = arr.concat(1,["blog","w3cplus"],["a","b","c"]);

console.log(arr2); // ["大漠", "30", 1, "blog", "w3cplus", "a", "b", "c"]

另外,concat()还可以传递空值(也就是说没有传递参数),此时它只是复制当前数组,并且返回一个副本。如下所示:

var arr = [1,2];

console.log(arr); // [1, 2]

var arr2 = arr.concat();

console.log(arr2); // [1, 2]

从上面几个示例,不难看出:concat()方法是在数组的副本上进行操作并返回新构建的数组,所以并不会影响到原来的数组。

concat() vs. push()

前面说过push()方法可以也可以给数组传参数,同样是在数组的末尾添加一个或多个值(数组)。那么与concat()有什么不同之处呢?别的先不多说,先来看一个示例:

// push()方法

var arr = ['a','b'];

console.log(arr); // ["a", "b"]

arr.push('c','d');

console.log(arr); // ["a", "b", "c", "d"]

// concat()方法

var arr = ['a','b'];

console.log(arr); // ["a", "b"]

arr.concat('c','d');

console.log(arr); // ["a", "b"]

var arr2 = arr.concat('c','d');

console.log(arr2); // ["a", "

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值