在 Javascript 中使用 find
,如何从数组中找到 2 个项目 10
和 18
?
var ages = [3, 10, 18, 20];
ages.find(age => age === 10); // works on one item, returns 10
ages.find(age => age === (10 || 18)); // does not return 10 and 18
最佳答案
我会创建另一个数组来保存您要查找的可能年龄。这将比 或
语句更容易阅读和维护。
var ages = [3, 10, 18, 20];
var criteria = [10, 18];
let found = ages.filter(age => criteria.includes(age));
console.log(found);
正如@Flavio Ochoa 所指出的,Array.includes
旧版浏览器可能不支持。如果您担心支持问题,或者没有为 Array.includes
使用 polyfill,您可以使用 Array.indexOf
代替:
ages.filter(age => criteria.indexOf(age) > -1);
关于Javascript - 在数组中查找 2 个项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41773097/