我的 indexOf() 方法有效,但当涉及到最后一个值时,它停止工作
My indexOf() method works but when it comes to the last value, it stops working
我有一个包含一组温度的数组:令 arr2 = [12, 5, -5, 0, 4]。
对于这些温度中的每一个,我想在 1 天内写温度 + °,在 2 天内写温度 2 等。所以我需要增加天数,它必须从 1 开始,而不是从 0 开始。
它适用于数组中除最后一个值之外的所有值。为什么?
在这个例子中,i 的值为 4,所以它应该是 4+1 = 5,但是它没有记录“5 天后”,而是记录“-1 天后”,所以它显然错过了最后一个值。
我的错误是什么?
let arr = [17, 21, 23];
let arr2 = [12, 5, -5, 0, 4];
const printForecast = function (arr) {
for (let i = 0; i < arr.length; i++)
console.log(`${arr[i]}° in ${arr.indexOf(arr[i + 1])} days ...`);
};
printForecast(arr2);
为什么不直接使用i + 1
like:
let arr = [17, 21, 23];
let arr2 = [12, 5, -5, 0, 4];
const printForecast = function (arr) {
for (let i = 0; i < arr.length; i++)
console.log(`${arr[i]}° in ${i + 1} days ...`);
};
printForecast(arr2);
您遇到此问题是因为最后一个 arr[i + 1]
等于 arr[5]
,您的数组中不存在该索引。
我有一个包含一组温度的数组:令 arr2 = [12, 5, -5, 0, 4]。 对于这些温度中的每一个,我想在 1 天内写温度 + °,在 2 天内写温度 2 等。所以我需要增加天数,它必须从 1 开始,而不是从 0 开始。
它适用于数组中除最后一个值之外的所有值。为什么? 在这个例子中,i 的值为 4,所以它应该是 4+1 = 5,但是它没有记录“5 天后”,而是记录“-1 天后”,所以它显然错过了最后一个值。
我的错误是什么?
let arr = [17, 21, 23];
let arr2 = [12, 5, -5, 0, 4];
const printForecast = function (arr) {
for (let i = 0; i < arr.length; i++)
console.log(`${arr[i]}° in ${arr.indexOf(arr[i + 1])} days ...`);
};
printForecast(arr2);
为什么不直接使用i + 1
like:
let arr = [17, 21, 23];
let arr2 = [12, 5, -5, 0, 4];
const printForecast = function (arr) {
for (let i = 0; i < arr.length; i++)
console.log(`${arr[i]}° in ${i + 1} days ...`);
};
printForecast(arr2);
您遇到此问题是因为最后一个 arr[i + 1]
等于 arr[5]
,您的数组中不存在该索引。