This question already has answers here:
Find object by id in an array of JavaScript objects
                                
                                    (32个答案)
                                
                        
                2年前关闭。
            
        

所以我有一个包含多个对象的二维数组。每个对象都有多个属性和方法。我只想返回与我传递的ID匹配的对象方法和属性。在这种情况下,id为1。



const blogData = [
    {
        title : "Title 1",
        date : "2017-07-15",
        id : 1
    },
    {
        title : "Title 2",
        data : "2017-07-16",
        id : 2
    }
];

for (let i = 0; i < blogData.length; i++) {
  if (blogData[i].id === 1) {
      console.log(`Post #${blogData[i].id} loaded`);
  }
}

最佳答案

您可以根据ID过滤数组,并假设您只有一个匹配项,则可以返回第一个(也是唯一一个)项目,或者跳过shift()并获得匹配项数组。



const blogData = [{
    title: "Title 1",
    date: "2017-07-15",
    id: 1
  },
  {
    title: "Title 2",
    data: "2017-07-16",
    id: 2
  }
];

var result = blogData.filter( x => x.id === 1).shift();

console.log(result)

10-01 17:17
查看更多