Отображение поверх вложенного массива?

#javascript

#javascript

Вопрос:

извините за вопрос новичка, но мне было интересно, как я могу отобразить массив с числом в начале массива?

 array = [
            ['geeks', '4', 'geeks' ],
            ['Hello', 'test', 'jeff'],
            ['Test', 'Pli', 'alphabet']
        ]
 

Я пытаюсь перебирать данные, которые выводятся следующим образом в моей консоли

Мне нужно перебрать и отобразить данные всех массивов

Комментарии:

1. Это недопустимая структура массива. Вы имели в виду [ [ ‘geeks’, ‘4’, ‘geeks’], [‘Hello’, ‘test’, ‘jeff], [‘Test’, ‘Pli’, ‘alphabet’] ]

2. @Shimi Я думаю, что OP просто показывает индексы, хотя они пропустили индекс 2 и перешли от 1 к 3

3. То, что находится в консоли, — это просто визуальный элемент для отображения индекса. Это не имеет ничего общего с фактическими данными в массиве.

4. В чем именно заключается проблема?

5. Вы говорите, что выполните цикл и отобразите все данные, но как вы планируете «отображать» нулевые значения? Похоже, вам понадобится какая-то логика, чтобы «отформатировать» эти данные без повторения цикла?

Ответ №1:

Итак, число рядом с массивом в DevTools в Chrome просто указывает вам, сколько элементов в массиве.

это не фактический массив

если вы хотите отредактировать массив или просто получить доступ к элементам, есть несколько способов

Смотрите этот пример:

 let someArray = [
[1,"a",2.3],
[2,"b",7.8],
[3,"c",4.5],
]

// if you want to change the items inside the array

//Array.map

someArray = someArray.map(innerArray =>{
  return innerArray.map(element => {
    //Do any thing to the element lets say that we want to convert all values to strings
    
    return String(element);
  })
})

console.log(someArray);

console.log('##################################');
//if you don't want to change the items inside the arreay you can:
// 1. remove the return statement from the Array.map function above

// 2. use any type of loop for, while loop

for(let i = 0; i < someArray.length; i  ){
  for(let j = 0; j < someArray[i].length; j  ){
      // Do any thing with the array item lets say you want to print it
      console.log(someArray[i][j]);
      
  }

} 

Комментарии:

1. Спасибо, это здорово, если бы я хотел получить доступ к определенным элементам во всем этом массиве, вернул бы я что-то вроде return string(элемент [1]) для доступа к буквам A, B и C?

2. элемент [0] приведет к полному 1-му массиву «[1,»a»,2.3]» если вам нужен 1-й элемент, вы можете получить к нему доступ с помощью элемента [0] [0] если вам нравится этот ответ, не забудьте проголосовать и принять этот ответ

3. Отлично, фантастика, спасибо вам. Если бы я хотел получить доступ к A B и C из всех массивов, а не только из массива 0, как это можно сделать?

Ответ №2:

Ниже будет выведена каждая строка в двумерном массиве

 array.forEach((childArr) => childArr.forEach((str) => console.log(str)))
 

Ответ №3:

Ваша консоль показывает индекс перед содержимым каждого элемента.

В вашем случае каждый элемент также является массивом.

итак, для отображения вашего конкретного массива:

пусть newArray = array.map(innerArray => innerArray.map(элемент => { ваш код }));

Комментарии:

1. Это создаст новый двумерный массив без каких-либо конкретных требований.

2. это верно. моя цель состояла в том, чтобы продемонстрировать, как изменить содержание, а не структуру.