我在
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功能 – 只是对象功能.在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中具有对应关系的现有密钥.