2016-04-04 26 views
-6

Dizideki öğeleri dizideki konumlarına göre nasıl çoğaltabilirim? Örneğin Javascript - bir dizideki öğeleri, konumlarına göre çarpma

,

bu dizide

var multiply = [2, 4, 6, 7] 

öğeleri alıp esasen (2*1+4*2+6*3+7*4) ile çıkmasını istiyorum.

Bir for döngüsü kullanmam gerektiğini anlıyorum ama bu sonucu elde etmek için nasıl yazacağımı bilmiyorum.

Teşekkür ederiz!

+2

Peki bir diziyi nasıl örtersiniz? Başka bir numaraya nasıl bir sayı ekler ve sonucu bir değişkene depolarsınız? – epascarello

+1

Buraya sormadan önce bir kod denemelisiniz. Yığın Taşması yardım amaçlıdır, ev ödevi cevapları değildir. – Gremash

+0

'var arr = [2, 4, 6, 7], çarpan = arr.map ((v, i) => v * (i + 1)), toplam = çoğaltılmış.uzak ((a, b) => a + b, 0); ' – Thomas

cevap

0

Böyle yapın, ancak nasıl çalıştığını anlamaya çalışın:
Dizideki eski değerleri değiştirdim.
Bu örnekte multiply yeni değerlere dönüştü.

var multiply = [2, 4, 6, 7]; 
 

 
multiply.forEach(function(e, i) { 
 
    multiply[i] = e * ++i; 
 
}) 
 

 
document.write(JSON.stringify(multiply)); // output: [2,8,18,28]

0

Aşağıdaki kullanabilirsiniz:

multiply.map(function(v, i){ 
    return v * (i+1); 
}); 

Bir değişkene atamayı ya da (yeni dizi döndürülür beri) Bununla ne gerekiyorsa yapabilirim.