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都可以工作但是一个是方括号而另一个没有它们。它们都是正确的吗?
答案 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]);
表示您传递的数组中包含单个对象。
基本上[]
表示数组。