从数组中分离出对象属性和值

时间:2015-04-11 14:06:30

标签: javascript arrays json

从这个json数组

{
    "result": [
        {
            "id": "1",
            "name": "John",
            "type": "B",
            "score":"passed"
        },
        {
            "id": "2",
            "name": "Alice",
            "type": "A",
            "score":"failed"
        }

    ]
}

如何拆分某个字段并将其转换为像这样的内容

{
    "result": [
        {
            "id": "1",
            "type": "B",
        },
        {
            "id": "2",
            "type": "A",
        }

    ]
}

我不想在我的情况下使用拼接,上面只是示例代码。

3 个答案:

答案 0 :(得分:4)

试试这个:

var input = {
    "result": [
        {
            "id": "1",
            "name": "John",
            "type": "B",
            "score":"passed"
        },
        {
            "id": "2",
            "name": "Alice",
            "type": "A",
            "score":"failed"
        }

    ]
};
var output = {
    result: input.result.map(function(item) {
       return {
          id: item.id,
          type: item.type
       };
    })
}

答案 1 :(得分:3)

试试这个



   var json = {
   "result": [{
           "id": "1",
           "name": "John",
           "type": "B",
           "score": "passed"
       }, {
           "id": "2",
           "name": "Alice",
           "type": "A",
           "score": "failed"
       }

   ]
   };

   json.result.forEach(function(item) {
   delete item.name;
   delete item.score;
   });

   console.log(json);




答案 2 :(得分:3)

迭代数组并删除年龄属性

var json = [
    {"name":"john",
     "age":"30",
     "gender":"male"},
    {"name":"Alice",
     "age":"20",
     "gender":"female"}

];
json.forEach(function(x){
delete x['age'];
})