基于关键字返回搜索结果的最有效方法,该关键字与对象中的多个字段进行比较



我有一个包含一百个对象的列表。每个对象都有一个类似于下面的结构:

Book {
title,
description,
author
}

在我的 Web 应用程序中,有一个搜索栏,在输入搜索词时,如果该词是任何对象字段中字符串值的一部分,我希望显示书籍的结果。

尽管有很多方法可以做到这一点,但最有效的方法是什么?

你将不得不以任何方式迭代对象。你可以这样做:

var book = {name:'Name of the book',description:'This is a description', author:'this is a name of author' };
var keyword = 'is a';
var output={};
Object.entries(book).forEach(([k,v])=>{
if(v.includes(keyword)) output[k] = v;
});
console.log(output);

您也可以在此处使用reduce功能。

最新更新