Как я могу удалить все объекты в массиве json по его ключевому слову - PullRequest
1 голос
/ 30 сентября 2019

У меня есть json вот так:

json = [ 
   { 
      "value1":"3863",
      "value2":"4567"
   },
   { 
      "value1":"4456",
      "value2":"87687"
   },
   { 
      "value1":"98494",
      "value2":"4534"
   },   
]

Мне нужно удалить value2, чтобы json выглядел так:

json = [ 
   { 
      "value1":"3863"
   },
   { 
      "value1":"4456"
   },
   { 
      "value1":"98494"
   },   
]

Я пытался использовать

for(var i = 0; i < json.length; i++)
{    
  delete json["value2"];   
}

но это не работает.

Есть ли способ сделать это?

Ответы [ 5 ]

1 голос
/ 30 сентября 2019

const json = [ 
   { 
      "value1":"3863",
      "value2":"4567"
   },
   { 
      "value1":"4456",
      "value2":"87687"
   },
   { 
      "value1":"98494",
      "value2":"4534"
   },   
];

json.forEach(item => delete item.value2);
0 голосов
/ 30 сентября 2019

Вы забыли итератор i:

delete json[i]["value2"];

var json = [ 
   { 
      "value1":"3863",
      "value2":"4567"
   },
   { 
      "value1":"4456",
      "value2":"87687"
   },
   { 
      "value1":"98494",
      "value2":"4534"
   },   
];

for(var i = 0; i < json.length; i++) {    
  delete json[i]["value2"];   
}

console.log(json);
0 голосов
/ 30 сентября 2019

С вашим текущим синтаксисом:

for(var i = 0; i < json.length; i++)
{    
  delete json[i].value2;   
}
0 голосов
/ 30 сентября 2019

Вы только что пропустили i использование при доступе к элементам массива json:

for(var i = 0; i < js.length; i++)
{    
  delete json[i]["value2"];   
}
0 голосов
/ 30 сентября 2019

использовать map.

json = [ 
  { 
     "value1":"3863",
     "value2":"4567"
  },
  { 
     "value1":"4456",
     "value2":"87687"
  },
  { 
     "value1":"98494",
     "value2":"4534"
  }
];

console.log(json.map(({value1}) => ({value1})));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...