簡體   English   中英

Javascript數組將每個值存儲在變量中

[英]Javascript array store each value in variable

如何將javascript數組的每個值存儲在變量中,以便可以使用它執行進一步的操作?

例如:

var plan = [100, 200];
var months = [3, 6];

for (var i = 0; i < plan.length; i++) {
    p_det = plan[i];
}
for (var i = 0; i < months.length; i++) {
    m_det = months[i];
}
console.log(p_det * m_det); //Gives me value of 200*6 

我必須執行的數學動作應為((100 * 3)+(200 * 6))

將每個值存儲在變量中會有所幫助嗎? 我該如何實現?

將每個元素存儲在變量中將無濟於事,您已經可以使用array [index]訪問這些值。 假設數組的長度相同,則可以在循環中計算所需的內容:

for (var sum = 0, i = 0; i < plan.length; i++) {
    sum += plan[i]*month[i];
}
console.log( sum );

您可以通過減少假設兩個數組具有相同的長度來實現

 var plan = [100, 200]; var months = [3, 6]; var sum = plan.reduce(function(sum, val, index) { return sum + months[index] * val; }, 0); snippet.log(sum) 
 <script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script> 

一個簡單的while循環就可以了。 由於可以使用Math.min()方法來設置長度,因此它可以適用於任何長度。

 function s(a, b) { var i = Math.min(a.length, b.length), r = 0; while (i--) { r += a[i] * b[i]; } return r; } document.write(s([100, 200], [3, 6])); 

在ES6中:

sum(plan.map((e, i) => e * months[i])

總和在哪里

function sum(a) { return a.reduce((x, y) => x + y); }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM