简体   繁体   English

删除数组内的对象属性,数组内的对象属性,不在数组上循环

[英]Remove object property which inside an array which inside an object which inside an array without looping on array

I have an array which has objects I want to remove all properties which have the key "isCorrect" from the object without looping on the primary array or changing its value to false.我有一个包含对象的数组,我想从对象中删除所有具有键“isCorrect”的属性,而不在主数组上循环或将其值更改为 false。

[ { "arrangement": 1, "question": "mijn", "answers": [ { "answer": "nmiou", "isCorrect": true }, { "answer": "nkj", "isCorrect": false }, { "answer": "nk", "isCorrect": false }, { "answer": "jln", "isCorrect": false } ] }, { "arrangement": 2, "question": "kjn", "answers": [ { "answer": "kjn", "isCorrect": true }, { "answer": "kj", "isCorrect": false }, { "answer": "nkj", "isCorrect": false }, { "answer": "n", "isCorrect": false } ] }, { "arrangement": 3, "question": "jn", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false }, { "answer": "nn", "isCorrect": false } ] }, { "arrangement": 4, "question": "n", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false } ] }, { "arrangement": 5, "question": "n", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false } ] }, { "arrangement": 6, "question": "nn", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false } ] }, { "arrangement": 7, "question": "n", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false } ] }, { "arrangement": 8, "question": "n", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "nkokj", "isCorrect": false }, { "answer": "nj", "isCorrect": false }, { "answer": "nkj", "isCorrect": false } ] }, { "arrangement": 9, "question": "n", "answers": [ { "answer": "njk", "isCorrect": true }, { "answer": "nkjn", "isCorrect": false }, { "answer": "jk", "isCorrect": false }, { "answer": "nkj", "isCorrect": false } ] }, { "arrangement": 10, "question": "i", "answers": [ { "answer": "i", "isCorrect": true }, { "answer": "ii", "isCorrect": false }, { "answer": "i", "isCorrect": false }, { "answer": "i", "isCorrect": false } ] } ]

It can be done with looping but it takes time and performance,它可以通过循环来完成,但它需要时间和性能,

 let primaryArray = [ { "arrangement": 3, "question": "jn", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false }, { "answer": "nn", "isCorrect": false } ] }, { "arrangement": 4, "question": "n", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false } ] }, { "arrangement": 5, "question": "n", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false } ] }, { "arrangement": 6, "question": "nn", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false } ] }, { "arrangement": 7, "question": "n", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false }, { "answer": "n", "isCorrect": false } ] }, { "arrangement": 8, "question": "n", "answers": [ { "answer": "n", "isCorrect": true }, { "answer": "nkokj", "isCorrect": false }, { "answer": "nj", "isCorrect": false }, { "answer": "nkj", "isCorrect": false } ] }, { "arrangement": 9, "question": "n", "answers": [ { "answer": "njk", "isCorrect": true }, { "answer": "nkjn", "isCorrect": false }, { "answer": "jk", "isCorrect": false }, { "answer": "nkj", "isCorrect": false } ] }, { "arrangement": 10, "question": "i", "answers": [ { "answer": "i", "isCorrect": true }, { "answer": "ii", "isCorrect": false }, { "answer": "i", "isCorrect": false }, { "answer": "i", "isCorrect": false } ] } ] primaryArray.map((q)=>{ q.answers[0].isCorrect = false; }) console.log(primaryArray)

To remove the isCorrect property from the objects in the array, you can use the map method to iterate over the array and the delete operator to remove the property from each object.要从数组中的对象中删除 isCorrect 属性,您可以使用 map 方法遍历数组并使用 delete 运算符从每个对象中删除该属性。

Something like this:像这样:

const updatedArray = array.map(item => {
  delete item.answers.isCorrect;
  return item;
});

This should remove "isCorrect" from the "answers" without making changes to the original array i think...这应该从“答案”中删除“isCorrect”而不改变我认为的原始数组......

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM