使用concat将对象添加到数组的正确方法

时间:2017-04-10 15:52:05

标签: javascript arrays object concat

var obj = {name: 'tim', bio: 'lol'};

var arr = [{name: 'beba', bio:'lulu'}, {name: 'keh', bio: 'kih'}];

var newArr = arr.concat([obj]);
or
var newArr = arr.concat(obj);

两个concats都可以工作但是一个是方括号而另一个没有它们。它们都是正确的吗?

1 个答案:

答案 0 :(得分:3)

如果你看docs of concat

是的,没关系。 concat功能足够灵活。

  

concat方法创建一个新数组,该数组由调用它的对象中的元素组成,依次为每个参数的,该参数的元素(如果参数是数组)或者参数本身(如果参数不是数组)。它不会递归到嵌套数组参数中。

它在内部检查你传递的内容并做了一些事情。

var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])

更新:

var newArr = arr.concat(obj);

表示您将单个对象传递给concat函数。

var newArr = arr.concat([obj]);

表示您传递的数组中包含单个对象。

基本上[]表示数组。