0

次のようなオブジェクトがあります。

{  
  user[id]: 1,  
  user[name]: 'Lorem',  
  money: '15.00'  
}

そして、私はこれが欲しい:

{  
  user: {  
    id: 1,  
    name: 'Lorem',  
  },  
  money: '15.00'  
}

どうすればこれを達成できますか?

4

1 に答える 1

2

このようなもの

var x = {  
  "user[id]": 1,  
  "user[name]": 'Lorem',  
  "money": '15.00'  
}
var y = {};
for (var i in x){
    var  z = /(.+)\[(.+)\]/g.exec(i);
    if (z){
        if (!y.hasOwnProperty(z[1])){
            y[z[1]] = {};
        }
        y[z[1]][z[2]] = x[i];   
    }
    else{
        y[i] = x[i];
    }
}

http://jsfiddle.net/mowglisanu/3Z2qe/

于 2012-07-30T02:03:20.950 に答える