У меня проблемы и, возможно, я подхожу к этому неправильно, поэтому открыты для других решений. Из вызова извлечения я получаю больший массив объектов json, который имеет дополнительную вложенность в каждом объекте. Я хочу уменьшить массив объектов большего размера до нескольких значений (для каждого объекта), и в настоящее время я делаю это, перебирая все объекты в массиве большего размера и получая значения, которые я хочу получить от каждого объекта, а затем передавая их зановосоздал больший массив. Приведенный ниже код работает иногда, однако бывают случаи, когда в некоторых значениях из json отсутствует цикл for, прерывающий цикл for. Например, data.products[i].images[0].src
в данном объекте иногда не определено, что прерывает цикл, говорящий «не может прочитать свойство .src of undefined», и не повторяется до конца.
Основные вопросы?
1. Как я могу учесть неопределенные значения в любой заданной паре ключ: значение без разрыва цикла
2. Есть ли лучший способ пойтиоб этом целиком?
Я могу отредактировать ответ, включив в него пример входящего json, если это вообще поможет
Редактировать
Я также хочуне включать какой-либо объект, который привел к неопределенному изображению в конечном массиве. Есть ли способ предотвратить добавление этого объекта или, возможно, отфильтровать его позже?
let productFilter = []
fetch('https://some.json')
.then(
function (response) {
response.json().then(function (data) {
for (var i = 0; i < data.products.length; i++) {
let filteredArray = {
"productId": data.products[i].id,
"productName": data.products[i].title,
"productImg": data.products[i].images[0].src
}
productFilter.push(filteredArray)
}
});
}
)
.catch(function (err) {
console.log('Fetch Error', err);
})