var test_data = {'hr' : [1, 'Час'], 'min' : [60, 'Минута'], 's' : [3600, 'Second']}

Сейчас, пока я выполняю итерацию, я хочу получить 's' первым

$.each(test_data, function(i, j) {
         // Мне нужно сначала получить 's'
});

Я пробовал test_data.revers(), но это не работает. Есть решение?

Ответы (2)

Для определенного порядка можно было бы отсортировать ключи объекта и перебирать их в порядке убывания первого значения массива.

var data = { hr: [1, 'Час'], min: [60, 'Минута'], s: [3600, 'Second'] };

for (const key of Object.keys(data).sort((a, b) => data[b][0] - data[a][0])) {
    console.log(key, ...data[key]);
}

Вы можете использовать Object.keys и .reverse следующим образом:

var test_data = {
  'hr' : [1, 'Hour'],
  'min' : [60, 'Минута'],
  's' : [3600, 'Second'].
};

$.each(Object.keys(test_data).reverse(), function(i, key) {
  console.log(key, test_data[key]);
});

2022 WebDevInsider