【发布时间】:2020-06-28 21:19:11
【问题描述】:
我试图找到一种有效的方法来检查数组是否包含我期望的对象。在下面的示例中,我希望 fruit 中的对象具有 type = apple, banana, and orange。例如,如果缺少banana,那么它应该返回false。
这是一个非常基本的解决方案:
const fruit = [
{'type': 'apple', 'color': 'red', 'quantity': 10},
{'type': 'banana', 'color': 'yellow', 'quantity': 9},
{'type': 'orange', 'color': 'orange', 'quantity': 3}
];
let fruitsToCheck = ['apple', 'banana', 'orange'];
let fruitsThatExist = [];
fruit.forEach( fruit => {
fruitsThatExist.push(fruit.type);
});
fruitsToCheck = fruitsToCheck.sort().toString();
fruitsThatExist = fruitsThatExist.sort().toString();
const allExist = fruitsToCheck === fruitsThatExist;
我的解决方案有效,但效率不高。有什么更好的方法来解决这个问题?
【问题讨论】:
-
codereview.stackexchange.com - 这个问题属于这里
标签: javascript arrays node.js validation object