我正在尝试在函数incIndex运行时更新数组索引:
const arr=[1, 2, 3, 4, 5];
let index = 0;
let arrIndex = arr[index]
const incIndex = () => index++;
但是只能通过这种方式工作
console.log(arr[index]) // 1
incIndex();
console.log(arr[index]) // 2
但是当我这样做
console.log(arrIndex) // 1
incIndex();
console.log(arrIndex) // 1
我仍然得到索引0的元素。有人知道如何解决它,以便我可以使用第二种方法吗?
答案 0 :(得分:1)
您可以使用for循环
const arr=[1, 2, 3, 4, 5];
for(let i = 0; i < arr.length; i++)
{
console.log(arr[i]);
}
其中循环中的i变量将是递增索引
答案 1 :(得分:0)
您做错了。
这将数组的第一个元素的值复制到一个新变量。
let arrIndex = arr[index]
更改索引时不能期望它会被更改。
答案 2 :(得分:0)
arrIndex
值,则该值将始终相同。 (另外,您最后缺少分号)
如果设置arrIndex = arr[index]
,它将等于分配给它的arr[index]
的值(1)。这不是动态值。
对于动态值,您也许可以创建一个函数,但这并不值得。最好使用arr [index]
function returnDynamicValue(){
return arr[index];
}
然后
console.log(returnDynamicValue());
incIndex();
console.log(returnDynamicValue());