Javascript JS-在数组中查找项
我有一个JSON提要(people.JSON),它给出了以下内容:Javascript JS-在数组中查找项,javascript,reactjs,Javascript,Reactjs,我有一个JSON提要(people.JSON),它给出了以下内容: [ { "id":0, "firstName":"Alison", }, { "id":1, "firstName":"Fred", } ] 等等 为清晰起见编辑** 我有一个名为searchTerm的变量。在JavaScript中,如何在数组中找到所有与firstName匹配的searchTerm?这取决于“搜索”的确切含义, 如果搜索是个人
[
{
"id":0,
"firstName":"Alison",
},
{
"id":1,
"firstName":"Fred",
}
]
等等
为清晰起见编辑**
我有一个名为searchTerm
的变量。在JavaScript中,如何在数组中找到所有与firstName
匹配的searchTerm
?这取决于“搜索”的确切含义,
如果搜索是个人实体,或者如果搜索是个人id
看看这个数组。过滤器
现在,您应该使用本地文件路径执行该函数
readJsonFile("./people.json");
如果从文件读取的代码令人困惑-请告诉我,我会更好地构建它
result将是一个“persons”数组,searchTerm的值将作为其名字。如果您正在查找与
名字匹配的对象
var json=[
{
“id”:0,
“名字”:“艾莉森”,
},
{
“id”:1,
“名字”:“弗雷德”,
}
];
函数findByName(名称){
返回json.find(函数(f){return f.firstName==name});
}
log(findByName('Fred'))代码>您可以使用筛选功能查找与搜索词匹配的所有对象:
var searchTerm = "Alison";
var alisons = arr.filter(x => {
return x.firstName === searchTerm;
});
Filter使用回调函数筛选出项,并且只在新数组中包含符合给定条件的项。如果您不熟悉ES6语法,这只是:
var searchTerm = "Alison";
var alisons = arr.filter(function(x){
return x.firstName === searchTerm;
});
返回的变量Alison将是数组中名为Alison的所有对象的数组
如果您好奇的话,filter函数知道searchTerm,因为它是一个变量。我想我会提到,以防您需要为自己的代码移动东西:
希望这有帮助 你在找名字吗?是的,我在找名字搜索词来自哪里?您可能应该首先将返回的数据存储在组件状态,然后使用输入框组件调用的方法来过滤结果。也许您可以编写一些代码作为示例。单链接答案是不赞成的。只是添加了一个例子。
var searchTerm = "Alison";
var alisons = arr.filter(function(x){
return x.firstName === searchTerm;
});