我有一个像下面这样的对象,我想构建一个组合该对象的所有数组的数组。
var my_obj = {
2: ['a', 'b', 'c'],
41: ['ccx', 'sf', 'd', 'dd', 'ff'],
// ... continues
};
我想要的是构建一个组合所有这些数组的数组,
var finalArray = ['a', 'b', 'c', 'ccx', 'sf', 'd', 'dd', 'ff', ...];
到目前为止我尝试过的,
var finalArray = [];
$.each(my_obj, function(i,arr){
finalArray.concat(arr);
});
但以上并没有给我预期的结果。你能指出一下是什么问题,以及如何解决这个问题?
答案 0 :(得分:2)
.concat()
返回一个新数组。您只需要重新分配原始变量:
finalArray = finalArray.concat(arr);
或者,对于少数几个字符,您可以使用jQuery.map()
:
var finalArray = $.map(my_obj, function (arr, _) {
return arr;
});