我想在 javascript 中的陣列中向后回圈,然后獲取陣列中每個元素的索引,例如,如果陣列有 10 個元素并且向后回圈,它將記錄 9、8、7、6、5、4、3 , 2, 1, 0. 出于某種奇怪的原因,我得到了一堆否定的 -1,我很困惑為什么它不會正確回傳索引。
這是代碼
//Arrays I would like to pass into the function
const valid1 = [4, 5, 3, 9, 6, 7, 7, 9, 0, 8, 0, 1, 6, 8, 0, 8];
const invalid1 = [4, 5, 3, 2, 7, 7, 8, 7, 7, 1, 0, 9, 1, 7, 9, 5];
function validateCred(arr) {
let sum = 0;
for (let i = arr.length - 1; i >= 0; i--) {
console.log(arr.indexOf(i));
}
}
console.log(validateCred(valid1));
uj5u.com熱心網友回復:
為什么-1是?
這是因為arr.indexOf(i)回圈何時開始i=15:
arr.indexOf(15)將回傳,-1因為您15的陣列中沒有 a 。
下i=14一個和上面一樣。
. . .
i=9然后它將找到 index 處的元素3。
uj5u.com熱心網友回復:
正如 UnholySheep 上面解釋的那樣,Array.indexOf(i) 為您提供陣列中 i 表示的值第一次出現的索引。下面是一些幫助您除錯的代碼:
function validateCred(arr) {
let sum = 0
for (let i = arr.length - 1; i >= 0; i--) {
console.log(i) // log the index
console.log(arr[i]) // log the value
}
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/335753.html
標籤:javascript 数组 循环 索引
