我在连接JavaScript中的两个关联数组时遇到问题。下面是示例代码:

var firstArray =  new Array();
firstArray.c1 = "sam";
firstArray.c2 = "kam";
var secArray =  new Array();
secArray.c3 = "sam";
secArray.c4 = "kam";
var res = firstArray.concat(secArray);
这是已知限制吗?
实现此目标的最佳方法是什么?

最佳答案

您没有在使用Array功能-只是在使用Object功能。在JavaScript中,Object是一个关联数组-您将Array用于整数索引的数组。如果你做了

var firstArray =  new Array();
firstArray.push("sam");
firstArray.push("kam");
var secArray =  new Array();
secArray.push("sam");
secArray.push("kam");
var res = firstArray.concat(secArray);

那么concat将按预期工作。

如果您实际上要合并关联数组,请执行以下操作:
for (var attr in src_array) { dest_array[attr] = src_array[attr]; }

当然,这将覆盖dest_array中与src_array中对应的现有键。

10-06 15:49