Function 'concat' (in JavaScript) is not working for associative arrays
Arrays in JavaScript have only numerical keys. Only objects can have non numerical properties. So try this instead:
var firstArray = {};
firstArray.c1 = "sam";
firstArray.c2 = "kam";
var secArray = {};
secArray.c3 = "sam";
secArray.c4 = "kam";
for (var prop in secArray) {
if (secArray.hasOwnProperty(prop)) {
firstArray[prop] = secArray[prop];
}
}
You are not using Array
functionality - just Object
functionality. In JavaScript, Object
is an associative array - you use Array
for arrays indexed by integers. If you did
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);
then concat
would work as expected.
If you actually want to merge associative arrays, do:
for (var attr in src_array) { dest_array[attr] = src_array[attr]; }
This will of course overwrite existing keys in dest_array
which have counterparts in src_array
.
Try this:
var firstArray = new Array("sam", "kam");
var secArray = new Array("sam", "kam");
var res = firstArray.concat(secArray);