私は言う配列のオブジェクトを持っています
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 が含まれている場合は問題ありません。
なぜ2つのループでそれをやらないのですか?
注:これがあなたが話した「ブルート フォース」の方法である場合、私はあなたを助ける方法がわかりません。これを行う 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;
}