我对编码基本了解并希望得到您的帮助。我有这个js代码给了我一个真正的假日志,所有香肠狗出现在数组中:
var myAnimal = "Sausage Dog";
var arrayAnimal =["Sausage Dog", "Tiger", "Sausage Dog", "Crocodile", "Lion"];
for (var i = 0; i < arrayAnimal.length; i++) {
if(myAnimal == arrayAnimal[i]) {
console.log("True");
} else {
console.log("False");
}
}
如果var myAnimal
是一个包含多个字符串的数组,我将如何执行相同的任务?
因此它会检查myAnimal
中每只动物对抗var arrayAnimal
中的每只动物,并为所有事件返回一个真/假。
有没有办法做到这一点?
答案 0 :(得分:2)
这样的事情:
将myAnimal
数组循环到arrayAnimal
循环内 - 检查它们是否相等。
var myAnimal = ["Sausage Dog", "Tiger"];
var arrayAnimal = ["Sausage Dog", "Tiger", "Sausage Dog", "Crocodile", "Lion"];
for (var i = 0; i < arrayAnimal.length; i++) {
for (var j = 0; j < myAnimal.length; j++) {
if(arrayAnimal[i] == myAnimal[j]) console.log('match');
}
}
&#13;
答案 1 :(得分:1)
使用myAniml
从Array#reduce
数组创建字典,然后使用字典Array#map
arrayAnimal
创建字典。
var myAnimal = ["Sausage Dog", "Lion"];
var myAnimalDict = myAnimal.reduce(function(dict, str) {
dict[str] = true;
return dict;
}, Object.create(null));
var arrayAnimal =["Sausage Dog", "Tiger", "Sausage Dog", "Crocodile", "Lion"];
var result = arrayAnimal.map(function(str) {
return !!myAnimalDict[str];
});
console.log(result);
答案 2 :(得分:0)
var myAnimal = ["Sausage Dog", "Tiger", "Sausage", "Crocodile", "Lion"];
var arrayAnimal =["Sausage Dog", "Tiger","Crocodile", "Lion"];
for (var i = 0; i < myAnimal.length; i++) {
for (var j = 0; j < arrayAnimal.length; j++) {
if (myAnimal[i] == arrayAnimal[j]) {
$('#demo').append("True</br>");
}
}
}