过滤一组对象/将数组转换为另一个

时间:2015-10-21 20:44:27

标签: javascript arrays angularjs object

你可以帮我转换一下格式的数据:

"tanks": [
      {
          "id": "1",
          "name": {
              "id": 1,
              "tor": "000"
          },
          "type": {
              "id": 1,
              "system": "CV-001"
          }
      }
  ]

进入

"tanks":[
      {
          "type": 1,
          "name": 1 
      }
  ]

如您所见,第一个数组中的type.id与第二个数组中的类型相同。这就像我必须遍历数组(因为我不仅有一个Object)并且只留下了Objects中需要的字段,但是我被卡住了。 希望它对你来说有点信息。

1 个答案:

答案 0 :(得分:2)

您可以使用简单的Array.map()

执行此操作



var obj = {
  tanks : [
    {
      "id": "1",
      "name": {
        "id": 1,
        "tor": "000"
      },
      "type": {
        "id": 1,
        "system": "CV-001"
      }
    },
    {
      "id": "2",
      "name": {
        "id": 2,
        "tor": "200"
      },
      "type": {
        "id": 2,
        "system": "CV-002"
      }
    }
  ] 
};

obj.tanks = obj.tanks.map(function(item) {
  return { 
    name : item.name.id,
    type : item.type.id
  };
});

console.log(obj);

<script src="http://gh-canon.github.io/stack-snippet-console/console.min.js"></script>
&#13;
&#13;
&#13;