以下是使用concat
的两种不同方式。 nameage
和nameage2
产生了一些不同的结果,在不同的浏览器中似乎也有不同的描述。
var name = ["david","ibrahim","lagan"];
var age = [23, 34, 24];
var nameage = name.concat(age);
var nameage2 = [name].concat(age);
例如,在chrome中:
console.log(nameage);
产生“david,ibrahim,lagan23,34,24”,而
console.log(nameage2);
产生“[”david,ibrahim,lagan“,23,34,24]”
有人可以解释这两种方法之间的区别,以及它如何影响concat
的使用? (这种方式更正确吗?)
答案 0 :(得分:5)
在第二个中,你将“name”数组放在一个数组中,作为它的第一个元素,然后将“age”数组连接到它上面。
所以:
[name]
给你
[ [ "david", "ibrahim", "lagan" ] ]
这是一个数组内部的数组。当你连接到那个,你得到
[ [ "david", "ibrahim", "lagan" ], 23, 34, 24 ]
将你发布的两个样本视为两个“方法”是不正确的 - 它们是两个完全不同的东西。哪个是对的”?这取决于你想要的结果。