Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript JS-在数组中查找项_Javascript_Reactjs - Fatal编程技术网

Javascript JS-在数组中查找项

Javascript JS-在数组中查找项,javascript,reactjs,Javascript,Reactjs,我有一个JSON提要(people.JSON),它给出了以下内容: [ { "id":0, "firstName":"Alison", }, { "id":1, "firstName":"Fred", } ] 等等 为清晰起见编辑** 我有一个名为searchTerm的变量。在JavaScript中,如何在数组中找到所有与firstName匹配的searchTerm?这取决于“搜索”的确切含义, 如果搜索是个人

我有一个JSON提要(people.JSON),它给出了以下内容:

[  
   {  
      "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;
});