简介:
在js中,查找一个数组中符合条件的一个对象(一个元素)或者筛选出一个数组中符合条件的多个对象(元素)形成的新数组。
初始数据:
const data = [
{
id:44,
puPrice:3799,
buyNum:3079,
},
{
id:61,
puPrice:2999,
buyNum:60,
},
{
id:62,
puPrice:899,
buyNum:118,
},
{
id:60,
puPrice:329,
buyNum:1126,
},
];
一、查找一个find
find() 方法返回通过测试(函数内判断)的数组的第一个元素的值。
find() 方法为数组中的每个元素都调用一次函数执行:
当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数。
如果没有符合条件的元素返回 undefined
注意: find() 对于空数组,函数是不会执行的。
注意: find() 并没有改变数组的原始值。
//查找id=61的单个元素
var newData= data.find((item) => item.id+'' === 61+''); //返回对象
console.log(newData);
// 结果: {id:61,puPrice:2999,buyNum:60,}
二、筛选符合条件的数据组合filter
filter() 方法创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。(返回数组,包含了符合条件的所有元素。如果没有符合条件的元素则返回空数组。)
注意: filter() 不会改变原始数组。
注意: filter() 不会对空数组进行检测。
//筛选所有id=61的元素
var newData= data.filter((item) => item.id+'' === 61+''); //返回对象
console.log(newData); //返回结果是个数组
// 结果: [{id:61,puPrice:2999,buyNum:60,}]
————————————————
版权声明:本文为CSDN博主「qq_41315539」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_41315539/article/details/105215208