push()和concat()的区别。

一般在数组末尾添加元素用push方法就可以了,但是这样会改变原有数组的数据所以就有了concat方法

concat方法是在原有的基础上添加元素并返回链接之后的副本,并不会修改原有的数组。

不说废话了,直接上图:new一个实例

var arr = new Array();
arr[0] = 1;
arr[1] = 2;
arr[2] = 3;

下面分别用两种方法添加元素

var array = arr.concat(4,5) //[1, 2, 3, 4, 5]

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

arr.push(4,5); //[1, 2, 3, 4, 5]

再说一遍concat不会修改原数组,push会修改原数组

从上面的代码看上去没有什么区别,我们接着看:

var array = arr.concat(4,[5,6])     //[1, 2, 3, 4, 5, 6]
arr.push(4,[5,6]);      //[1, 2, 3, 4, Array(2)]    Array(2) [5,6]

这样就看出来区别了吧。

push方法会把数组原原本本的输出

concat方法会把数组解析之后再输出。

下面是解决方法:

arr.push.apply(arr,[4,5]);        //[1, 2, 3, 4, 5]

 

arr = arr.concat([4,5])        //[1, 2, 3, 4, 5]

以上两种方法可以自行选择

  • 11
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: `push`和`concat`都是用于合并数组的方法,但它们有一些区别: 1. `push`方法会将指定的元素添加到原数组的末尾,并返回修改后的数组长度。而`concat`方法会创建一个新数组,将原数组和指定的数组或值拼接在一起,返回新数组。 2. `push`方法只能合并数组或值到原数组的末尾,而`concat`方法可以将多个数组或值合并到一个新数组中。 3. `push`方法会修改原数组,而`concat`方法不会修改原数组,而是返回新数组。 4. `push`方法只能用于数组,而`concat`方法可以用于任何可迭代对象(如数组、字符串、Set等)。 因此,当需要将一个或多个元素添加到现有数组的末尾时,应该使用`push`方法。而当需要创建一个新数组,将多个数组或值合并到一起时,应该使用`concat`方法。 ### 回答2: push()和concat()都是字符串的方法,用于在字符串末尾添加其他字符串,并返回新的字符串。 push()方法将一个或多个字符串添加到原字符串的末尾。它是在原字符串的基础上直接修改,没有返回新的字符串。使用push()方法时,需要将要添加的字符串作为参数传递给原字符串。 concat()方法将一个或多个字符串添加到原字符串的末尾,并返回一个新的字符串,原字符串不会被改变。使用concat()方法时,将要添加的字符串作为参数传递给原字符串,并将返回的新字符串赋值给一个变量。 两者的区别在于返回结果的不同,push()直接修改原字符串,没有返回值,而concat()返回一个新的字符串。 一般情况下,常用concat()方法来拼接字符串,因为它可以保留原字符串不变,同时返回一个新的字符串,方便进行后续操作。而push()方法一般用于需要直接修改原字符串的情况,比如想要在函数内部改变全局变量的值时。 总的来说,使用concat()方法可以更加安全、方便地拼接字符串,而push()方法则适用于需要直接修改原字符串的特殊情况。 ### 回答3: pushconcat是两个数组方法。 push() 方法用于将一个或多个元素添加到数组的末尾,并返回新数组的长度。它会直接修改原数组,将新的元素添加到末尾。例如,arr.push(element1, element2)。push方法通常用于往数组末尾添加单个或多个元素。 concat() 方法用于将两个或多个数组合并为一个新数组,并返回新数组。它不会修改原数组,而是返回一个新的合并后的数组。例如,arr1.concat(arr2)。concat方法通常用于合并多个数组。 区别: 1. push修改原数组,concat返回一个新数组。 2. push可以添加一个或多个元素到数组末尾,concat可以合并两个或多个数组。 3. push返回新数组的长度,concat返回新的合并数组。 使用时机: - 当需要将一个或多个元素添加到已有数组的末尾时,使用push方法。 - 当需要将两个或多个数组合并为一个新数组时,使用concat方法。 例如: 假设有两个数组arr1 = [1, 2, 3]和arr2 = [4, 5, 6]。 - 如果我们想要将arr2的元素添加到arr1的末尾,我们可以使用push方法:arr1.push(arr2[0], arr2[1], arr2[2])。 - 如果我们想要将arr1和arr2合并成一个新数组,我们可以使用concat方法:var newArr = arr1.concat(arr2)。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值