【发布时间】:2019-09-19 19:10:28
【问题描述】:
我刚刚编写了下面的代码来查找数组列表中的第一个匹配项。有什么有效的方法吗?
function hasName(names, req)
{
let state = 'pending';
for(let i in names)
{
if(req.indexOf(names[i]) !== -1)
{
state = 'init';
break;
}
}
return state;
}
hasName(['A', 'B', 'C'], ['B', 'D']);
【问题讨论】:
-
那么如果
names中的任何一项在req中找到,你返回'init'?如果您能简要说明预期内容,将会很有帮助。现在你的代码正在检查匹配的项目,但我没有看到它做任何与“第一次出现”相关的事情。一般来说,在数组中查找第一次出现的项目的最简单方法是使用类似Array.find()或使用Array.indexOf()通过索引获取它 -
@TylerRoper 没错。我正在寻找 req 中与名称匹配的任何单个项目。第一次出现意味着第一个找到的 req 项。
-
@quirimmo 它的工作和超级简单,谢谢!
标签: javascript arrays ecmascript-6