如何从JSON数组中删除元素

Sad*_*dik 8 javascript arrays json

我是nodejs和mongodb的新手.我的问题是我是一个以下类型的json

{ 
 _id: 199,
 name: 'Rae Kohout',
 scores: [ 
     { type: 'exam', score: 82.11742562118049 },
     { type: 'quiz', score: 49.61295450928224 },
     { type: 'homework', score: 28.86823689842918 },
     { type: 'homework', score: 5.861613903793295 }
 ]
}
Run Code Online (Sandbox Code Playgroud)

在这里,我想比较"家庭作业"类型的得分,并删除得分最低的作业.为了解决这个问题,我写了一些像

var low = '';
for(var i=0;i<doc.scores.length;i++)
{
 if(doc.scores[i].type == 'homework'){
   if(low == ''){
      low = doc.scores[i].score;
   }
   if( doc.scores[i].score > low ){
     console.log("index for lowest score is " + i);
     low = '';
   }
 }
}
Run Code Online (Sandbox Code Playgroud)

现在我能够找到最低分的索引,并希望删除该索引处的值.我尝试使用Array.splice()方法,但仅适用于Array.任何人都可以帮我解决吗?

小智 28

使用splice如下:

doc.scores.splice(index, 1);
Run Code Online (Sandbox Code Playgroud)

  • +1这是从数组中删除元素的正确方法. (2认同)