1
我有一个数组的对象说如何将数组的对象变成对象数组?
obj_of_arr = {a : [1,2], b:["foo","bar"]}
,我希望把它变成对象
arr_of_obj = [{a:1,b:"foo"},{a:2,b:"bar"}]
什么是最优雅的方式来实现这一目标相当于阵列?我可以“蛮力”这一点,但我想知道是否有一种优雅的方式。如果涉及jQuery,那很好。
我有一个数组的对象说如何将数组的对象变成对象数组?
obj_of_arr = {a : [1,2], b:["foo","bar"]}
,我希望把它变成对象
arr_of_obj = [{a:1,b:"foo"},{a:2,b:"bar"}]
什么是最优雅的方式来实现这一目标相当于阵列?我可以“蛮力”这一点,但我想知道是否有一种优雅的方式。如果涉及jQuery,那很好。
为什么不只是用两个循环做?
备注:如果这是您所说的“暴力”方式,那么我不知道该如何帮助您。即使有一些jQuery(或其他框架)函数这样做,它可能会在内部使用类似的构造,因为这些框架通常没有任何让它们更快或更高效的魔力。
function obj_to_arr(obj_of_arr) {
var objects = [];
for (var prop in obj_of_arr) {
for (var i = 0; i < obj_of_arr[prop].length; i++) {
if (typeof(objects[i]) != "object") {
objects[i] = {};
}
objects[i][prop] = obj_of_arr[prop][i];
}
}
return objects;
}