1
obj = {'a':['hello', 'hie'], 'b':['World', 'India']}

array = [{'a':'hello','b':'World'}, {'a':'hie','b':'India'}]

JQueryを使用して、これまたはこの変換の組み込みメソッドを変換する最良の方法。

4

2 に答える 2

2

このコードを試してください、

obj = {'a':['hello', 'hie'], 'b':['World', 'India']}
var key = Object.keys(obj);
array = [];
for (var i = 0; i < obj['a'].length; i++){
  o = {}
  for (k in key){
    o[key[k]] = obj[key[k]][i]
  }
  array.push(o)
}
于 2012-11-28T11:53:29.700 に答える
1
var obj = {'a':['hello', 'hie'], 'b':['World', 'India']};

var array = [];
for (var prop in obj)
    for (var i=0; i<obj[prop].length; i++) {
        var o = array[i] || (array[i] = {});
        o[prop] = obj[prop][i];
    }

jQueryは必要ありません。jQueryを使用すると、次のようになります。

var array = [];
$.each(obj, function(prop) {
    $.each(this, function(i) {
        var o = array[i] || (array[i] = {});
        o[prop] = this;
    });
});
  • 遅くて読みにくい。使ってはいけません。
于 2012-11-28T12:02:55.270 に答える