将对象值更改为数组

时间:2016-01-12 09:47:26

标签: javascript jquery

我正在使用JSON对象:

testUser3: "{"accountDetails":"false"}"

我希望此对象更改为

accountDetails: ["false"]

我使用了$.each

$.each(value, function(key,value){
            this.data = value;
        });

但是再次为此我必须再次迭代,我不想要。类似下面的内容

//for (var i in this.data) {
          //  anarray.push(this.data[i]));
         // 

是否有任何单个衬里将值包含在数组中。

2 个答案:

答案 0 :(得分:1)

只需在数组中指定值即可。

object.testUser3.accountDetails = [object.testUser3.accountDetails];

var object = { testUser1: { accountDetails: true } , testUser3: { accountDetails: false } };

Object.keys(object).forEach(function (a) {
    object[a] = Object.keys(object[a]).map(function (b) {
        return [object[a][b]];
    });
});

document.write('<pre>' + JSON.stringify(object, 0, 4) + '</pre>');

答案 1 :(得分:0)

假设你这样做:var yourObj = {testUser3:

{"accountDetails":"false"}};
var newObj = {
    testUser3: {}
};

for(var key in yourObj.testUser3) {
  newObj.testUser3[key] = [yourObj.testUser3[key]];
}
JSON.stringify(newObj);
祝你好运

  

基于评论编辑的代码