📜  在 json 数组中查找对象 - Javascript (1)

📅  最后修改于: 2023-12-03 15:23:11.225000             🧑  作者: Mango

在 JSON 数组中查找对象 - JavaScript

在 JavaScript 中,经常需要在 JSON 数组中查找特定的对象。这种操作通常涉及到多个循环和条件判断,因此需要掌握一些技巧来提高效率。

查找单个对象

假设我们有以下 JSON 数组:

[
  {
    "name": "John",
    "age": 30
  },
  {
    "name": "Jane",
    "age": 25
  },
  {
    "name": "Bob",
    "age": 40
  }
]

要查找其中年龄为 25 的人,可以使用 Array.find() 方法:

const people = [
  {
    "name": "John",
    "age": 30
  },
  {
    "name": "Jane",
    "age": 25
  },
  {
    "name": "Bob",
    "age": 40
  }
];

const person = people.find(p => p.age === 25);

console.log(person); // { "name": "Jane", "age": 25 }
查找多个对象

如果要查找多个符合条件的对象,可以使用 Array.filter() 方法:

const people = [
  {
    "name": "John",
    "age": 30
  },
  {
    "name": "Jane",
    "age": 25
  },
  {
    "name": "Bob",
    "age": 40
  }
];

const youngPeople = people.filter(p => p.age < 30);

console.log(youngPeople); // [{ "name": "Jane", "age": 25 }]
查找对象的位置

如果要查找符合条件的对象在数组中的位置,可以使用 Array.findIndex() 方法:

const people = [
  {
    "name": "John",
    "age": 30
  },
  {
    "name": "Jane",
    "age": 25
  },
  {
    "name": "Bob",
    "age": 40
  }
];

const index = people.findIndex(p => p.age === 25);

console.log(index); // 1
结论

在 JavaScript 中查找 JSON 数组中的对象,可以使用 Array.find()Array.filter()Array.findIndex() 方法。这些方法都接受一个函数作为参数,用于判断对象是否符合条件。要注意的是,这些方法返回的都是新的数组或对象,而不是原数组或对象的引用。