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

Javascript 使用concat将对象添加到数组的正确方法,javascript,arrays,object,concat,Javascript,Arrays,Object,Concat,两个concat都可以工作,但一个带有方括号,另一个没有方括号。它们都正确吗?如果您查看 是的,很好。concat函数足够灵活 concat方法创建一个新数组,该数组由调用它的对象中的元素组成,对于每个参数,依次为,、该参数的元素(如果参数是数组)或参数本身(如果参数不是数组)。它不会递归到嵌套数组参数中 它会在内部检查您正在传递的内容并执行这些操作 var obj = {name: 'tim', bio: 'lol'}; var arr = [{name: 'beba', bio:'lulu

两个concat都可以工作,但一个带有方括号,另一个没有方括号。它们都正确吗?

如果您查看

是的,很好。concat函数足够灵活

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);
更新:

var new_array = old_array.concat(value1[, value2[, ...[, valueN]]])
表示将单个对象传递给concat函数

var newArr = arr.concat(obj);
表示传递的数组中只有一个对象


基本上,
[]
表示数组。

谢谢,我很好奇方括号在concat中做什么?我们不是在添加数组而是一个对象//啊,好的,明白了。使用两种不同的形式并不好。一个用于将数组添加到数组中,另一个用于添加任何其他内容。这是不一致的,会增加意外错误的风险。
.concat()
很有趣。。。如果提供的参数是数组,则调用扩展运算符。有时好,有时不太好。
var newArr = arr.concat([obj]);