Jor*_*rge 3 javascript arrays include
希望能对您有所帮助。我的项目中有一个空数组,当按下某些按钮时会填充一个空数组(使用push())。我想知道数组中何时有一组特定的元素。
在下面的代码中,似乎3个元素都在数组中,所以它似乎工作了,因此它显示“是”。如果我取出最后一个元素(“ TR”),它将打印“ nope”。但是,如果我删除前两个元素中的任何一个,它将显示“是”。它似乎只关注include()函数中的最后一个元素。
有什么办法可以包含include()或类似的东西,检查是否所有元素都在我的数组中?请记住,数组可以包含更多元素,并且不会进行排序。
提前致谢。
var arr = ["TL", "TM", "TR"];
if (arr.includes("TL" && "TM" && "TR")){
console.log("yes");
} else {
console.log("nope");
}
Run Code Online (Sandbox Code Playgroud)
问题出在您的if语句中,因为include()根据字符串参数返回一个布尔值。更好的方法是使用类似:
if(arr.includes("TL") && arr.includes("TM") && arr.includes("TR")) {
console.log("yes");
}
Run Code Online (Sandbox Code Playgroud)
如果您的数组中有很多元素,我会建议更多类似的方法:
var flag = true;
for(i=0; i<arr.length; i++) {
if(!arr.includes(arr[i])) {
flag = false;
}
}
if(flag) {
console.log("yes");
}
Run Code Online (Sandbox Code Playgroud)