通过json对象缺少对象循环

詹姆斯·柠檬

http://jsfiddle.net/ow9g9y0d/

var item = {
        "slots": [{
            "id": "3",
                "name": "a"
        }, {
            "id": "1",
                "name": "b"
        }, {
            "id": "2",
                "name": "b"
        }]
};
var data = {};

item.slots.forEach(function(i){
    if( i["name"] == "b"){
    data["b"] = i;
    }else{
    data["a"] = i;
    }
});

console.log(data);

我有2个名称不等于b的项目,但它们在“ a”下仅出现一次,在那里发生了什么?

前卫的

你可以做这样的事情

var item = {
  "slots": [{
    "id": "3",
    "name": "a"
  }, {
    "id": "1",
    "name": "b"
  }, {
    "id": "2",
    "name": "b"
  }, {
    "id": "4",
    "name": "b"
  }]
};
var data = {};
var ctr = 0;
item.slots.forEach(function(i) {
  if (i.name == "b") {
    (!(data.b == undefined)) ? ctr++ : data.b = {};
    data.b["" + ctr] = i;
  } else {
    data.a = i;
  }
});

console.log(data);
document.body.innerHTML = JSON.stringify(data.b);

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章