handleDropdown = (dropdown) => {
dropdown.map(drop => {
if (drop.value.includes('destroyed') && drop.value.includes('damaged')) {
console.log("working")
}
})
}
我需要检查数组中是否同时存在“销毁”和“损坏”并返回true。如果我使用include来检查任何一个条件都可以正常工作,那么我不确定如何检查数组中是否存在两个特定的两个元素。我需要帮助解决此问题。谢谢。
答案 0 :(得分:3)
您可以创建一个值数组来检查并使用.every()
来测试它们在数据数组中的存在。
let data = ['a', 'b', 'destroyed', 'damaged', 'y', 'z'];
let valuesToCheck = ['destroyed', 'damaged'];
if(valuesToCheck.every(s => data.includes(s))) {
console.log('It is working');
}
答案 1 :(得分:2)
您可以使用以下内容:
const joined = dropdown.join();
return joined.includes('destroyed') && joined.includes('damaged')
答案 2 :(得分:1)
您也可以使用indexOf
let data = ['a', 'b', 'destroyed', 'damaged', 'y', 'z'];
var result = data.indexOf('destroyed')> -1 && data.indexOf('damaged') > -1;
if(result)
{
console.log("It is working");
}