在JavaScript中调用没有参数的concat做什么

时间:2014-03-31 09:57:16

标签: javascript syntax

在没有参数的情况下调用concat有什么意义/结果? E.g。

代码:

 var board = [
  false, false, false, false,
  false, false, false, false
];
board = board.concat();

2 个答案:

答案 0 :(得分:5)

Concat function用于在javascript中连接两个数组。

例如:

a = [1,2,3]
b = [4,5]

a = a.concat(b); // a becomes [1,2,3,4,5]

修改

使用不带参数的concat可用于复制数组。例如:

var a = [1,2,3];
var b = a.concat();
b.push(4);

// a is [1,2,3] and b is [1,2,3,4]

从MDN concat source

中读取此内容
  

concat不会改变这个或作为参数提供的任何数组,而是返回一个浅拷贝,其中包含从原始数组组合的相同元素的副本。原始数组的元素将复制到新数组

答案 1 :(得分:1)

注意:concat() 功能 ,而不是 参数

如果在没有参数的情况下调用concat(),结果会得到一个新数组。请参阅下面的摘要。

var board = [ false, false, false, false, false, false, false, false ];
board = board.concat(); // Will return a new copy of your board array.

您可以为concat(value1, value2, ..., valueN)函数提供参数:

  

N个数组和/或连接到结果数组的值。


您可以在此处阅读文档:Array.prototype.concat() @ MDN

<强>摘要

concat()方法返回一个由此数组组成的新数组,该数组与其他数组和/或值连接。

示例

var alpha = ["a", "b", "c"];
var numeric = [1, 2, 3];

// creates array ["a", "b", "c", 1, 2, 3]; alpha and numeric are unchanged
var alphaNumeric = alpha.concat(numeric);