json 数组查找数据的几种方式,包括模糊查找

发布时间 2023-12-26 15:33:54作者: 珊瑚贝博客

来源:http://www.shanhubei.com/archives/3418.html

在 JavaScript 中,有几种常见的方式可以用来查找 JSON 数组中的数据。下面介绍了其中的几种方式:

1.使用 find() 方法: find() 方法用于在数组中查找满足指定条件的第一个元素,并返回该元素。它接受一个回调函数作为参数,该回调函数会对数组中的每个元素进行执行,如果回调函数返回 true,则返回该元素,否则返回 undefined。

var jsonArray = [
  { id: 1, name: 'John' },
  { id: 2, name: 'Jane' },
  { id: 3, name: 'Alice' }
];
 
var result = jsonArray.find(function(item) {
  return item.id === 2;
});
 
console.log(result); // { id: 2, name: 'Jane' }

 


2.使用 filter() 方法: filter() 方法用于在数组中查找满足指定条件的所有元素,并返回一个包含符合条件的元素的新数组。它也接受一个回调函数作为参数,并在回调函数返回 true 时将当前元素添加到结果数组中。

var jsonArray = [
  { id: 1, name: 'John' },
  { id: 2, name: 'Jane' },
  { id: 3, name: 'Alice' }
];
 
var result = jsonArray.filter(function(item) {
  return item.name.includes('a');
});
 
console.log(result); // [{ id: 2, name: 'Jane' }, { id: 3, name: 'Alice' }]

 


3.使用 forEach() 方法或普通的 for 循环: 你可以使用 forEach() 方法或普通的 for 循环遍历数组,并通过条件判断来找到匹配的元素。

使用 forEach() 方法的示例:

var jsonArray = [
  { id: 1, name: 'John' },
  { id: 2, name: 'Jane' },
  { id: 3, name: 'Alice' }
];
 
var result;
 
jsonArray.forEach(function(item) {
  if (item.name === 'Jane') {
    result = item;
  }
});
 
console.log(result); // { id: 2, name: 'Jane' }

 


4.使用 for 循环的示例:

var jsonArray = [
  { id: 1, name: 'John' },
  { id: 2, name: 'Jane' },
  { id: 3, name: 'Alice' }
];
 
var result;
 
for (var i = 0; i < jsonArray.length; i++) {
  if (jsonArray[i].name === 'Jane') {
    result = jsonArray[i];
    break;
  }
}
 
console.log(result); // { id: 2, name: 'Jane' }
这些方法都提供了不同的灵活性和适用场景。你可以根据具体的需求选择最适合的方式来查找 JSON 数组中的数据。