我在连接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
中对应的现有键。