无法完全理解数组的工作原理
Cant fully understand how to works array
对不起,伙计们。但我不明白为什么我经常收到 ReferenceError。当您在 console.log 中输入两个数字时,下面的简单数组代码显示它们之间的数字划分为 % 2 。
但是当我尝试添加消除功能时:null、'string' 等,它显示了一个 ReferenceError
arr.push(i);
例如
for (let i = min; i <= max; i++){
if (i % 4 == 0) {
if (i === null) {
alert('qwerty');
}
}
}
arr.push(i);
return arr;
};
这是原始代码。它有效但没有过滤器
let first = +prompt('Please enter first number:');
let second = +prompt('Please enter second number ');
function arrRange(min, max) {
let arr = [];
for (let i = min; i <= max; i++)
if (i % 2 == 0)
arr.push(i);
return arr;
};
console.log(arrRange(first ,second ))
在你的例子中,我不在循环中,这就是你得到引用错误的原因。
你不能仅仅通过在 loop
中转移你的 push 方法来修复它
<pre><code> for (let i = min; i <= max; i++){
if (i % 4 == 0) {
if (i === null) {
alert('qwerty');
}
}
arr.push(i);
}
// arr.push(i); out of loop and i here doesn't exist
return arr;
};
那是因为你把 i
推到了错误的地方 arr
。你只是混合了函数的范围。
你有一个简单的解决方案:
for (let i = min; i <= max; i++){
if (i % 4 == 0) {
if (i === null) {
alert('qwerty');
}
arr.push(i);
}
}
return arr;
};
对不起,伙计们。但我不明白为什么我经常收到 ReferenceError。当您在 console.log 中输入两个数字时,下面的简单数组代码显示它们之间的数字划分为 % 2 。 但是当我尝试添加消除功能时:null、'string' 等,它显示了一个 ReferenceError arr.push(i);
例如
for (let i = min; i <= max; i++){
if (i % 4 == 0) {
if (i === null) {
alert('qwerty');
}
}
}
arr.push(i);
return arr;
};
这是原始代码。它有效但没有过滤器
let first = +prompt('Please enter first number:');
let second = +prompt('Please enter second number ');
function arrRange(min, max) {
let arr = [];
for (let i = min; i <= max; i++)
if (i % 2 == 0)
arr.push(i);
return arr;
};
console.log(arrRange(first ,second ))
在你的例子中,我不在循环中,这就是你得到引用错误的原因。 你不能仅仅通过在 loop
中转移你的 push 方法来修复它
<pre><code> for (let i = min; i <= max; i++){
if (i % 4 == 0) {
if (i === null) {
alert('qwerty');
}
}
arr.push(i);
}
// arr.push(i); out of loop and i here doesn't exist
return arr;
};
那是因为你把 i
推到了错误的地方 arr
。你只是混合了函数的范围。
你有一个简单的解决方案:
for (let i = min; i <= max; i++){
if (i % 4 == 0) {
if (i === null) {
alert('qwerty');
}
arr.push(i);
}
}
return arr;
};