#javascript
Есть массив (объект), который содержит положительные и отрицательные ключи. Но пытаясь
перебрать его, судя по всему, он никак не воспринимает отрицательные ключи (перебор
идет от 0) и выдает ошибку. Что в этом случае можно сделать?
mr = {
"0": {
title: "qwe"
},
"-1": {
title: "qwe2"
},
"-2": {
title: "qwe3"
}
};
Object.keys(mr)
.map(function(file, index) {
console.log(mr[index]["title"]);
});
Ответы
Ответ 1
В данном случае неверно получаются значения: Object.keys(mr) возвращает массив ключей, то есть в коллбэке для функции map первый параметр стоило назвать key для отражения смысла. Object.keys(mr) .map(function(key, index) { Теперь сразу видно, что index в данном случае это номер ключа в массиве, а не сам ключ. Для получения значения из объекта, надо было использовать ключ. mr = { "0": { title: "qwe" }, "-1": { title: "qwe2" }, "-2": { title: "qwe3" } }; Object.keys(mr) // ["0", "-1", "-2"] .map(function(key, index) { console.log(mr[key]["title"]); });
Комментариев нет:
Отправить комментарий