Я пытаюсь получить первый элемент массива, я не могу использовать [0], потому что массив индексируется строками, и я не знаю, какая строка соответствует этому первому элементу.
Есть ли способ получить первый элемент массива?
Спасибо.
@ASDFGerte, технически каждый индекс представляет собой строку.
@NinaScholz Ну ... или символ. По крайней мере, ключи могут быть символами.
В javascript массив может иметь только числовые индексы. В противном случае это не массив
Я удалил комментарий, потому что правильное объяснение слишком длинное для комментария, но есть техническая трудность, связанная с тем, как в этом вопросе сочетаются «массив» с «индексированными строками» (подразумевая нецелочисленные индексы). Да - массивы могут иметь свойства, не являющиеся целочисленными индексами, как объекты, но это полностью сводит на нет все значения слова «массив».



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Как отметил @ASDFGerte в своем комментарии, ваш array - это не array, а object.
Вы можете сделать что-то вроде этого:
var pseudoArray = { 'index1': 'value1', 'index2': 'value2' };
var pseudoArrayKeys = Object.keys(pseudoArray);
var valueInFirstElementInPseudoArray = pseudoArray[pseudoArrayKeys[0]];
Object.keys не гарантирует порядок, найденный в объекте. jsfiddle.net/aktufsmp
Вы правы, @charlietfl, но это лучший способ добиться того, чего он хочет. В любом случае, я думаю, что любой из этих подходов будет неправильным. Он пытается использовать объект как массив ... это неправильно само по себе
Точно. Эти ответы Object.keys дают ложную надежду, и структуру следует изменить, если порядок важен.
Не совсем уверен, что дает ложную надежду ... но он отвечает на вопрос, он объясняет разницу между объектом и массивом ... Является ли это хорошим выбором для него или нет, это другое ... но было не его вопрос.
Структура данных, которую вы можете использовать, определенно является объектом, а не массивом, пусть имя переменной будет arrObj, чтобы вы могли сделать что-то вроде -:
arrObj[Object.keys(arrObj)[0]]
пожалуйста, добавьте множество.