Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/402.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数组中查找单词?_Javascript_Arrays_Sorting_Find_Collect - Fatal编程技术网

如何在Javascript数组中查找单词?

如何在Javascript数组中查找单词?,javascript,arrays,sorting,find,collect,Javascript,Arrays,Sorting,Find,Collect,我的问题是,如何通过一个词找到所有数组索引 [ {name: "Jeff Crawford", tel: "57285"}, {name: "Jeff Maier", tel: "52141"}, {name: "Tim Maier", tel: "73246"} ] 如果我搜索“Jeff”,我想得到: [ {name: "Jeff Crawford", tel: "57285"}, {name: "Jeff Maier", tel: "52141"}, ] 使用.filter: cons

我的问题是,如何通过一个词找到所有数组索引

[
{name: "Jeff Crawford", tel: "57285"},
{name: "Jeff Maier", tel: "52141"},
{name: "Tim Maier", tel: "73246"}
]
如果我搜索“Jeff”,我想得到:

[
{name: "Jeff Crawford", tel: "57285"},
{name: "Jeff Maier", tel: "52141"},
]

使用
.filter

const input=[{姓名:“杰夫·克劳福德”,电话:“57285”},{姓名:“杰夫·梅尔”,电话:“52141”},{姓名:“蒂姆·梅尔”,电话:“73246”}]
const filtered=input.filter(({name})=>name.startsWith('Jeff');

console.log(过滤)使用
.filter

const input=[{姓名:“杰夫·克劳福德”,电话:“57285”},{姓名:“杰夫·梅尔”,电话:“52141”},{姓名:“蒂姆·梅尔”,电话:“73246”}]
const filtered=input.filter(({name})=>name.startsWith('Jeff');
console.log(过滤)在原始数组上使用并返回索引。然后,未定义的
值:

const data=[{姓名:“杰夫·克劳福德”,电话:“57285”},{姓名:“杰夫·梅尔”,电话:“52141”},{姓名:“蒂姆·梅尔”,电话:“73246”};
常量索引=data.map((项,i)=>{
if(item.name.startsWith('Jeff')){
返回i;
}
})
.filter(项=>项!==未定义);
控制台日志(索引)在原始数组上使用并返回索引。然后,未定义的
值:

const data=[{姓名:“杰夫·克劳福德”,电话:“57285”},{姓名:“杰夫·梅尔”,电话:“52141”},{姓名:“蒂姆·梅尔”,电话:“73246”};
常量索引=data.map((项,i)=>{
if(item.name.startsWith('Jeff')){
返回i;
}
})
.filter(项=>项!==未定义);

控制台日志(索引)
使用array
filter
方法和
indexOf
<代码>过滤器
将返回匹配元素的新数组。在筛选器回调函数的一侧,检查关键字的
索引不是
-1
的名称。该名称应包含关键字

var originalArray=[{
姓名:“杰夫·克劳福德”,
电话:“57285”
},
{
姓名:“杰夫·梅尔”,
电话:52141
},
{
姓名:“Tim Maier”,
电话:73246
}
]
函数getMatchedElem(关键字){
返回原始数组过滤器(函数(项){
返回项.name.indexOf(关键字)!=-1
})
}

log(getMatchedElem('Jeff'))
使用array
filter
方法以及
indexOf
<代码>过滤器
将返回匹配元素的新数组。在筛选器回调函数的一侧,检查关键字的
索引不是
-1
的名称。该名称应包含关键字

var originalArray=[{
姓名:“杰夫·克劳福德”,
电话:“57285”
},
{
姓名:“杰夫·梅尔”,
电话:52141
},
{
姓名:“Tim Maier”,
电话:73246
}
]
函数getMatchedElem(关键字){
返回原始数组过滤器(函数(项){
返回项.name.indexOf(关键字)!=-1
})
}

console.log(getMatchedElem('Jeff'))
为了使它更通用,您可以使用一个函数,该函数包含一个对象数组、所需的键和搜索字符串,该字符串稍后用作小写字符串

函数查找(数组、键、值){
value=value.toLowerCase();
返回array.filter(o=>o[key].toLowerCase().includes(value));
}
var数组=[{姓名:“杰夫·克劳福德”,电话:“57285”},{姓名:“杰夫·梅尔”,电话:“52141”},{姓名:“蒂姆·梅尔”,电话:“73246”}]

log(查找(数组,'name','Jeff')为了使它更通用,您可以使用一个函数,该函数接受一组对象、所需的键和搜索字符串,该字符串稍后用作小写字符串

函数查找(数组、键、值){
value=value.toLowerCase();
返回array.filter(o=>o[key].toLowerCase().includes(value));
}
var数组=[{姓名:“杰夫·克劳福德”,电话:“57285”},{姓名:“杰夫·梅尔”,电话:“52141”},{姓名:“蒂姆·梅尔”,电话:“73246”}]

log(查找(数组,'name','Jeff')您有任何尝试过的内容吗?您只想要索引或元素吗?请访问,查看和。做一些研究,搜索相关话题等;如果您遇到问题,请发布您的尝试,记录输入和预期输出。您有任何尝试吗?您只想要索引或元素?请访问,获取,以查看和。做一些研究,搜索相关话题等;如果你被卡住了,张贴一份你的尝试,记下输入和预期输出。