Как отрезать ненужный или отличающийся кусок объектов?

Застрял на следующем моменте. У меня есть файл json с объектами. В нем перечислены условные объекты парней с кэшом в кармане. Есть объект в котором ошибка. При работе с данным массивом объектов возникает ошибка из-за разной структуры.

Соответственно необходимо уладить косячный кусок. Например так:

let arr = response.data.response
arr.splice(0, 2)

После данной манипуляции все работает, но возникает вопрос, а что если ошибка будет в разных местах или в разных объемах. Как сделать универсальный резак/фильтр?

У нас есть ключ "error" и он заполнен в случае ошибки. Можно сделать цикл, но как искать ключ и положить в переменную i номер ключа? Можно по заполненности ключа, а как быть с номером переменной?

Остановился на данном этапе:

for(let i = 0; i < response.data.response.length; i++){
 if (typeof response.data.response['error'] !== "undefined") {
      arr = response.data.response
 }    arr = response.data.response.splice(0, i)
} 

Но у меня получается затуп((

JSON

{
"status": 0,
"response": [

{
"name": "Петя",
"id": "1",
"money": [
{
"w_money": "RUB",
"W__cashe": "1000"
},
{
"w_money": "DOL",
"W__cashe": "50"
}]
},

{
"name": "Вася",
"id": "2",
"money": [
{
"w_money": "RUB",
"W__cashe": "1000"
},
{
"w_money": "DOL",
"W__cashe": "50"
}]
},

{
"error": "connect no"
},

{
"name": "Игорь",
"id": "3",
"money": [
{
"w_money": "RUB",
"W__cashe": "1"
},
{
"w_money": "DOL",
"W__cashe": "1000"
}]
}]
} 

Ответы (1 шт):

Автор решения: Node_pro

Во-первых, хочу уточнить, что в нулевом элементе массива свойство объекта money, а в других случаях wallets. Если это опечатка, то нет проблемы, а если нет, тогда через Array.prototype.map - нужно будет прогнать.

Во-вторых, это удобно делается через Array.prorotype.filter

yourJson.response.filter((item)=>{
  return typeof(item.error) === 'undefined';
});

P.S. Если Вам нужна поддержка версиях IE (на старом движке), вместо стрелочных функций используйте обычную function(){}.

→ Ссылка