您可以做的是自己编写一个函数来检查元素是否属于数组:
function inArray(array, value) {
for (var i = 0; i < array.length; i++) {
if (array[i] == value) return true;
}
return false;
}
而他们只是这样做:
var arr = ["1","8","17","14","11","20","2","6"];
if (inArray(arr, 8)) {
// change picture.src to srcpicture1
} else {
// change picture.src to srcpicture2
}
这对我来说更具可读性。
为了获得额外的分数,您可以将函数添加到数组原型中,如下所示:
Array.prototype.has = function (value) {
for (var i = 0; i < this.length; i++) {
if (this[i] === value) return true;
}
return false;
};
然后调用将是
if (arr.has(8)) // ...
更进一步,您可以检查indexOf()
数组上的方法并使用它 - 如果没有 - 将其替换为上面的代码。
附:尽量不要使用Array
对于变量名,因为它是为实际数组类型保留的。