Как получить индекс через $.each?
Как еще через $.each можно получить индекс без этого let i = 0; и i++; ?
let obj = {
423: 123,
433: 2354,
653: 345,
783: 534534,
};
let i = 0;
$.each(obj, function(k, v) {
console.log(i, k, v);
i++;
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Ответы (1 шт):
Автор решения: DiD
→ Ссылка
Есть отличный метод Object.entries().
Работает он приблизительно так:
let obj = {
423: 123,
433: 2354,
653: 345,
783: 534534,
};
console.log(obj);
console.log(Object.entries(obj));
Для вашего случая:
let obj = {
423: 123,
433: 2354,
653: 345,
783: 534534,
};
$.each(Object.entries(obj), function(i, [k, v]) { // здесь первый
// параметр i,
// а второй [k,v]
// (деструкторизация)
console.log(i, k, v);
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Кстати говоря, есть и обратный метод Object.fromEntries().
let obj = [
["423",123],
["433",2354],
["653",345],
["783",534534]
];
console.log(obj);
console.log(Object.fromEntries(obj));