【发布时间】:2021-07-28 08:31:50
【问题描述】:
我首先尝试使用一个 if 语句编写此代码,因为我认为这是有道理的,因为索引必须是偶数并且元素必须是偶数并且与奇数和索引相同,但是它不起作用。此代码不起作用:
1. function isSpecialArray(arr) {
//iterate through array
for(var i = 0; i < arr.length; i++){
if((i % 2 === 0 && arr[i] % 2 !== 0) && (i % 2 === 1 && arr[i] % 2 !== 1)){
return false;
}
}
return true;
}
console.log(isSpecialArray([2, 7, 4, 9, 6, 1, 6, 3]));
但是,使用此代码:
2.
function isSpecialArray(arr) {
//iterate through array
for(var i = 0; i < arr.length; i++){
// console.log(arr[i] % 2 === 0 && i % 2 !== 0);
if(i % 2 === 0 ){
if(arr[i] % 2 !== 0){
return false
}
}
if(i % 2 == 1){
if(arr[i] % 2 !== 1){
return false;
}
}
}
return true;
}
【问题讨论】:
-
i % 2 === 0...很多&&...i % 2 === 1- 你认为这些可以同时成立吗? -
您的代码显示“如果将
i除以 2 的余数为零 ... 并且 ... 将i除以 2 的余数不为零“,这两件事都不可能是真的。想想“和”这个词是什么意思。
标签: javascript arrays conditional-statements operators