Получить имя первого ключа объекта JavaScript - программирование
Подтвердить что ты не робот

Получить имя первого ключа объекта JavaScript

Предположим, у нас есть следующий объект javascript:

ahash = {"one": [1,2,3], "two": [4,5,6]}

Существует какая-нибудь функция, которая возвращает имя первого ключа в объекте?

Из примера хочу получить "один".

4b9b3361

Ответ 1

В Javascript вы можете сделать следующее:

Object.keys(ahash)[0];

Ответ 2

Нет такой вещи, как "первый" ключ в хеше (Javascript называет их объектами). Они принципиально неупорядочены. Вы имеете в виду просто выбрать любой ключ:

for (var k in ahash) {
    break
}

// k is a key in ahash.

Ответ 3

Если вы решили использовать Underscore.js, вам лучше сделать

_.values(ahash)[0]

чтобы получить значение, или

_.keys(ahash)[0]

чтобы получить ключ.

Ответ 4

Попробуйте следующее:

for (var firstKey in ahash) break;

alert(firstKey);  // 'one'

Ответ 5

С помощью Underscore.js вы можете сделать

_.find( {"one": [1,2,3], "two": [4,5,6]} )

Он вернет [1,2,3]

Ответ 6

Вы можете запросить содержимое объекта по его позиции в массиве. Например:

 let obj = {plainKey: 'plain value'};

 let firstKey = Object.keys(obj)[0]; // "plainKey"
 let firstValue = Object.values(obj)[0]; // "plain value"

Ответ 7

вы можете поместить свои элементы в массив и хэш одновременно.

var value = [1,2,3];
ahash = {"one": value};
array.push(value);
Массив

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

Ответ 8

Я использую Lodash для защитного кодирования.

В частности, есть случаи, когда я не знаю, будут ли какие-либо свойства в объекте, для которого я пытаюсь получить ключ.

"Полностью оборонительный" подход с Lodash будет использовать оба ключа, а также получить:

const firstKey = _.get(_.keys(ahash), 0);