以下是两种不同的使用方法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
?(一种方式更"正确"吗?)
在第二个中,你将"name"数组放在一个数组中,作为它的第一个元素,然后将"age"数组连接到它上面.
所以:
[name]
给你
[ [ "david", "ibrahim", "lagan" ] ]
它是一个数组内部的数组.当你连接到那个,你得到
[ [ "david", "ibrahim", "lagan" ], 23, 34, 24 ]
将你发布的两个样本视为两个"方法"是不正确的 - 它们是两个完全不同的东西.哪个是对的"?这取决于你想要的结果.