2013-08-28 23 views
8

Nodejs ve mongodb için yeni. Benim sorunumJSON dizisinden öğe nasıl kaldırılır

gibi bazı kod yazdık bunu çözmek score.To düşük sahiptir ödev türü 'ödev' için puan karşılaştırmak ve kaldırmak istediğiniz İşte

{ 
_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 } 
] 
} 

türü aşağıdakilerden bir json ettik olduğunu

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 = ''; 
    } 
} 
} 

Şimdi en düşük puanın dizinini bulabilir ve bu dizindeki değerleri kaldırmak istiyorum. Array.splice() yöntemini kullanmaya çalıştım ancak bu yalnızca Array üzerinde çalışıyor. Bunu çözmeme yardım eden var mı? şöyle

+0

Sonuç olmaya çalışıyorum endeksi 3. 1 elemanını çıkarmak isterseniz? 'Puanlar' bir dizidir, bu yüzden üzerinde ekleme kullanabilirsiniz. – dc5

cevap

27

kullanımı splice:

doc.scores.splice(index, 1); 
+2

+1 Bir öğenin bir diziden kaldırılmasının uygun yolu budur. – Chad

+0

"Ekleme yöntemi iki veya daha fazla bağımsız değişkenle çağrıldığında, deleteCount ve (isteğe bağlı olarak) item1, item2, vb., Dizi dizini başlangıcında başlayan dizinin deleteCount öğeleri, item1, item2 vb. Argümanlarıyla değiştirilir. Silinen öğeleri içeren nesne nesnesi (varsa) döndürülür. "- http://www.ecma-international.org/ecma-262/5.1/#sec-15.4.4.12 –

+0

Hareket ettirmek istersem ne yapmalıyım? başka bir json değişkeni ?? –

2

ekleme() yöntem, mevcut elemanları çıkarılması ve/veya yeni elemanları eklenerek, bir dizi içeriğini değiştirir.

Bu Ne istiyorsunuz

var myArray = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon']; 
var removed = myArray.splice(3, 1); 

// removed is ["mandarin"] 
// myArray is ["angel", "clown", "drum", "sturgeon"] 
İlgili konular