json 数组查找数据的几种方式,包括模糊查找
来源: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' }