如何遍历对象数组并使用特定的对象属性javascript输出数组

时间:2018-11-15 16:16:13

标签: javascript arrays object

var obo = [{
        "parcelId": "009",
        "userid": "tomi",
        "location": "kwara"
    },
    {
        "parcelId": "009",
        "userid": "tomi",
        "location": "kwara"
    },
    {
        "parcelId": "009",
        "userid": "tomi",
        "location": "kwara"
    },
    {
        "parcelId": "009",
        "userid": "tomi",
        "location": "kwara"
    }, {
        "parcelId": "009",
        "userid": "tomi",
        "location": "kwara"
    }, {
        "parcelId": "009",
        "userid": "tomi",
        "location": "kwara"
    }
]

我想遍历并返回数组。我已经试过剪接了,没用

var obo = [{
        "userid": "tomi",
        "location": "kwara"
    },
    {
        "userid": "tomi",
        "location": "kwara"
    },
    {
        "userid": "tomi",
        "location": "kwara"
    }
]

正在尝试填充数组,以免其中没有parcelid

4 个答案:

答案 0 :(得分:4)

您可以将.map()用于某些对象分解:

var data = [
  {"parcelId": "009", "userid": "tomi", "location": "kwara"},
  {"parcelId": "009", "userid": "tomi", "location": "kwara"},
  {"parcelId": "009", "userid": "tomi", "location": "kwara"}
];

var result = data.map(({userid, location, ...rest}) => ({userid, location}));

console.log(result);
.as-console-wrapper { max-height: 100% !important; top: 0; }

参考:

答案 1 :(得分:0)

您需要使用.map()

obo = obo.map(function(item){
  return {
    userid: item.userid,
    location: item.location
  };
});

var obo = [
  {
    "parcelId": "009",
    "userid": "tomi",
    "location": "kwara"
  },
  {
    "parcelId": "009",
    "userid": "tomi",
    "location": "kwara"
  },
  {
    "parcelId": "009",
    "userid": "tomi",
    "location": "kwara"
  }
];

obo = obo.map(function(item){
  return {
    userid: item.userid,
    location: item.location
  };
});
console.log(obo);

答案 2 :(得分:0)

Array.prototype.map()呢?

var obo = [{
    "parcelId": "009",
    "userid": "tomi",
    "location": "kwara"
  },
  {
    "parcelId": "009",
    "userid": "tomi",
    "location": "kwara"
  },
  {
    "parcelId": "009",
    "userid": "tomi",
    "location": "kwara"
  }
]

var expected = [];

obo.map((elm, ind) => {
  expected.push({
    "userid": elm.userid,
    "location": elm.location
  })
})
console.log(expected)

答案 3 :(得分:0)

您可以尝试这样的事情

obo = obo.map(el => {
  let obj = {
    userid: el.userid,
    location: el.location
  };
  return obj;
});

或者对于一个班轮,您可以这样做

obo = obo.map(({userid,location})=>({userid,location})));