是否可以检查变量数组是否包含数字1,0,0,1
?
例如,
var array = [1,0,0,1];
if (array === 1001) alert("success");
答案 0 :(得分:5)
您只需join
数组即可查看
join()
方法连接数组的所有元素(或类似数组) 对象)进入一个字符串并返回该字符串。
注意:您需要使用==
代替===
,因为join
将返回一个字符串。
像:
var array = [1, 0, 0, 1];
if ( array.join("") == 1001 ) alert("success");
根据以下建议,您还可以使用===
并将其与字符串进行比较。
var array = [1, 0, 0, 1];
if ( array.join("") === "1001" ) alert("success");
请查看有关加入的更多信息:https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/join
答案 1 :(得分:1)
使用join()方法将数组的所有元素连接成一个字符串并返回该字符串。
var elements = [1,0,0,1];
console.log(elements.join('') === "1001");
// expected output: true

答案 2 :(得分:0)
使用方法join("")
将数组转换为不带逗号的字符串
然后使用includes("1001")
检查预期结果
希望这就是你要找的东西。如果需要,很乐意解释或帮助提供更好的解决方案。
var array = [1,0,0,1];
var string = array.join("");
console.log(string);
if (string.includes('1001')) alert("success");
答案 3 :(得分:0)
嗯,每个人都严格回答你的问题;但我想我会稍微补充一下。假设你想让它变得更有活力。这样我们检查数组的子集以查找您要查找的字符串,而不仅仅是整个数组。
Array.prototype.containsSequence = function(str, delimiter){
//Determines what is seperating your nums
delimiter = delimiter || '';
//Check the sub array by splicing it, then joining it
var checkSection = function (arr, start, end, str){
return arr.slice(start, end).join(delimiter) === str;
};
let start = 0; //start of our sub array
let end = str.length; //the length of the sub array
//Loop through each x size of sub arrays
while(end < this.length){
//Check the section, if it is true it contains the string
if(checkSection(this, start, end, str)){
return true;
}
//Incriment both start and end by 1
start++;
end++;
}
//We dont contain the values
return false;
};
///Test stuff
const ARRAY = [1,2,3,4,5,6,7,8,9,10];
if(ARRAY.containsSequence('456')){
console.log('It contains the str');
}else console.log('It does not contain');
&#13;