#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. это верно. моя цель состояла в том, чтобы продемонстрировать, как изменить содержание, а не структуру.