let arr=[[1,2,3],[4,5,6],[7,8,9]];

for (let i=arr.length;i>=0;i--){
  console.log(arr[i]);
  for (let n=arr[i].length;n>=0;n--){
    console.log(arr[i][n]);
  }
}
0
Yusuf Khan 1 Окт 2022 в 20:31
1
Arr.length в вашем примере равен 3. Это означает, что только arr[0],arr[1] и arr[2] имеют значение. Ваш цикл for правильно включает 0 (условие i>=0, а не i<0), но неправильно начинается с i=3, что не является допустимым индексом
 – 
chrslg
1 Окт 2022 в 20:37

1 ответ

Лучший ответ

Вы пытаетесь прочитать вне диапазона массивов. Добавить -1

let arr = [
  [1, 2, 3],
  [4, 5, 6],
  [7, 8, 9]
];

for (let i = arr.length - 1; i >= 0; i--) {
  console.log(arr[i]);
  for (let n = arr[i].length - 1;/* While accessing index, always consider `length - 1` */ n >= 0; n--) {
    console.log(arr[i][n]);
  }
}
1
Rayon 1 Окт 2022 в 20:38
Большое спасибо, брат... я изучаю основы JS... но я застрял с этой проблемой с 2 ​​часов..... но ты решил ее... спасибо, спасибо...
 – 
Yusuf Khan
1 Окт 2022 в 20:41
Я бы лично задал вопрос здесь только после нескольких дней исследований " title="сколько исследований ожидается от пользователей переполнения стека">meta.stackoverflow.com/questions/261592/…
 – 
Konrad Linkowski
1 Окт 2022 в 20:43