2016-03-25 5 views
1

Bir dizi nişancı ve sayaç dizim var. Sayım dizisinin bana sağlayacağı name sayısını almak istiyorum. Doğru mu ? Çıktı hakkında biraz kafam karıştı. Birisi bana bu iç içe dizi döngüsünde JavaScript'i engelleyebilir mi?İç içe dizgi, JavaScript içinde

var soter = ['bp','mf','cc'], 

count = [0,0,0]; 

for(var y = 0 ; y < soter.length; y++) {    
    for(var i = 0 ;i < data.SO_Ter.length; i++) { 
    if(data.SO_Ter[i].name == soter[y]) { 
     count[y]++; 
+2

Veri.SO_Ter öğesinin ne olduğuna dair ek bilgi verebilir misiniz? –

+0

'data' bir nesnedir. “SO_Ter” alt nesne. 'name' çocuk nesnesinin – Baadshah

+0

nesnesinin özelliğidir. Bana iyi geliyorsa, verilerde 'atıcının' içindeki dize kaç kere göründüğünü anlayacaksınız. Soter ve sayının uzunluklarının aynı olduğundan emin olun. Sonuçlarınız neye benziyor? – AAlferez

cevap

1

Bu kod iyi oluşturulmuş nesne verileri ve çocuk SO_Ter varsayarsak, bana doğru görünüyor.

Yani dış döngüden geçiyorsunuz, 0'dan 2'ye kadar konumlandırıyorsunuz ve bunların her biri için her bir öğenin data.SO_Ter öğesinin soter değerine eşit olduğunu kontrol edeceksiniz. Bu değeri bulursanız, sayıyı 1'e artırırsınız.

Mantıklı mı?

daha kolay, bu gibi olurdu yapmak için:

for(var i = 0 ;i < data.SO_Ter.length; i++) { 
    if(data.SO_Ter[i].name == soter[0]) { 
     count[0]++; 
for(var i = 0 ;i < data.SO_Ter.length; i++) { 
    if(data.SO_Ter[i].name == soter[1]) { 
     count[1]++; 
for(var i = 0 ;i < data.SO_Ter.length; i++) { 
    if(data.SO_Ter[i].name == soter[2]) { 
     count[2]++; 

bunu 3 kez yapmak Yani beri, sadece döngü için bir dış birleşim ile olanlar değiştirin.

UPDATE

sayısı [0] kelime 'bp' bulunmuştur kaç kere

sayısı [1] kelime 'mf' bulunmuştur kaç kere

sayım [2] 'cc' kelimesinin kaç kez bulunduğunu gösterir

+0

Sayma [0], saymak [1], saymak [2] 'temsil eder? – Baadshah

+0

Kodunuzda oluşturduğunuz sayım dizisine, o konumun değerini alan 0, 1, 2 konumlarına erişiyorsunuz. – AAlferez

+0

sayım dizisi ve nişan dizisi her ikisi de aynı uzunluğa sahiptir, çünkü [0], [1] sayısı ve [1] sayısı için aynı olan, atıcıdaki [0] kelimesinin görüntülenme zamanlarının sayısını temsil eder. – AAlferez