隐藏

js 对象list 模糊查询

发布:2024/12/12 22:52:49作者:管理员 来源:本站 浏览次数:34

要在JavaScript中对对象数组进行模糊查询,可以使用数组的filter方法结合一个测试函数,该函数检查对象的属性是否包含查询词。以下是一个简单的例子:


function fuzzySearch(list, query) {

 return list.filter(item =>

   Object.values(item).some(value =>

     value.toString().includes(query)

   )

 );

}


// 示例使用

const items = [

 { name: 'Apple', category: 'Fruit' },

 { name: 'Banana', category: 'Fruit' },

 { name: 'Carrot', category: 'Vegetable' },

 { name: 'Chicken', category: 'Meat' }

];


const searchQuery = 'na'; // 模糊查询词

const results = fuzzySearch(items, searchQuery);


console.log(results); // 将输出包含'na'的所有对象


在这个例子中,fuzzySearch函数接受一个对象数组list和一个查询词query。它使用filter方法创建一个新数组,该数组只包含那些其至少一个属性包含查询词的对象。Object.values获取对象的所有值,some方法检查是否有任何值包含查询词。includes方法用于字符串中的模糊匹配。