javascript:两种使用concat函数的方法

时间:2013-12-01 17:55:55

标签: javascript arrays

以下是使用concat的两种不同方式。 nameagenameage2产生了一些不同的结果,在不同的浏览器中似乎也有不同的描述。

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的使用? (这种方式更正确吗?)

1 个答案:

答案 0 :(得分:5)

在第二个中,你将“name”数组放在一个数组中,作为它的第一个元素,然后将“age”数组连接到它上面。

所以:

[name]

给你

[ [ "david", "ibrahim", "lagan" ] ]

这是一个数组内部的数组。当你连接到那个,你得到

[ [ "david", "ibrahim", "lagan" ], 23, 34, 24 ]

将你发布的两个样本视为两个“方法”是不正确的 - 它们是两个完全不同的东西。哪个是对的”?这取决于你想要的结果。