检查列表是否包含值javascript
我是javascript新手。 这是我的代码,如果在列表中找到“anna”,我希望它返回true检查列表是否包含值javascript,javascript,Javascript,我是javascript新手。 这是我的代码,如果在列表中找到“anna”,我希望它返回true var userList = [{'username':'anna','email':'anna@a.c'}, {'username':'benny','email':'benny@a.c'}, {'username':'kathy','email':'kathy@a.c'}] return userList.includes('anna
var userList = [{'username':'anna','email':'anna@a.c'},
{'username':'benny','email':'benny@a.c'},
{'username':'kathy','email':'kathy@a.c'}]
return userList.includes('anna')
非常感谢您的帮助尝试:
return userList.filter(function(e,i) { return e.username == 'anna' }).length > 0;
这样做的目的是为用户名
值为'anna'
的所有条目过滤数组用户列表
,并返回过滤列表的长度是否大于0(即至少有一个条目)。尝试:
return userList.filter(function(e,i) { return e.username == 'anna' }).length > 0;
这样做的目的是为用户名
值为'anna'
的所有条目过滤数组用户列表
,并返回过滤列表的长度是否大于0(即至少有一个条目)。使用:
ES6语法:
return userList.some(user => user.username === 'anna');
ES5语法:
function hasAnna(user) {
return user.username === 'anna';
}
return userList.some(hasAnna);
使用:
ES6语法:
return userList.some(user => user.username === 'anna');
ES5语法:
function hasAnna(user) {
return user.username === 'anna';
}
return userList.some(hasAnna);
.some()
很酷,只需注意IE不支持箭头函数。@PHPglue很好。我已经更新了答案。我有点假设现在每个人都在使用babel:-)。some()
很酷,只需注意IE不支持箭头函数。@PHPglue很好。我已经更新了答案。我有点假设现在每个人都在使用babel:-)虽然这会起作用,但效率有点低。。。想象一下,您有一个包含数千项的长列表,其中有一项在第二个位置包含“anna”。您建议的解决方案将遍历所有项(即使在第二个位置找到“anna”)。使用some
执行将在第二次执行时停止。无论如何,我给你一个加号,因为你的答案解决了这个问题。在这种情况下,使用===
进行严格的比较不是更合适吗?虽然这会起作用,但效率有点低。。。想象一下,您有一个包含数千项的长列表,其中有一项在第二个位置包含“anna”。您建议的解决方案将遍历所有项(即使在第二个位置找到“anna”)。使用some
执行将在第二次执行时停止。无论如何,我给你一个加号,因为你的答案解决了问题。在这种情况下,使用==
进行严格比较不是更合适吗?