我是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 }
]
}
在这里,我想比较“家庭作业”类型的得分,并删除得分最低的作业。为了解决这个问题,我写了一些代码,如
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 = '';
}
}
}
现在,我能够找到最低分的索引,并希望删除该索引处的值。我尝试使用Array.splice()方法,但仅适用于Array。有人可以帮我解决吗?
答案 0 :(得分:28)
像这样使用splice
:
doc.scores.splice(index, 1);
答案 1 :(得分:2)
splice()方法通过删除现有元素和/或添加新元素来更改数组的内容。
如果你想从索引3中删除1个元素,试试这个
var myArray = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
var removed = myArray.splice(3, 1);
// removed is ["mandarin"]
// myArray is ["angel", "clown", "drum", "sturgeon"]