我试图将下面的数组求和(即4 + 15 + 10等...... =总数)。我相信我使用的是正确的代码,但它似乎没有用。有人可以帮我看一下吗?
function beginhere() {
var arr = [4,15,10,7,6,18,1,18,8,45,55,16,9,19,11,13,14];
var total =0
var i =0
for(i < arr.length; i++) {
total += arr[i][1];
}
document.getElementById("thismessage").innerHTML = i;
}
答案 0 :(得分:3)
你只需要元素,而不需要另一个索引,因为你有一个包含单个值而不是数组数组的数组。
total += arr[i];
// ^^^
的正确起始值
for (i = 0; i < arr.length; i++) {
// ^^^^^
您需要指定total
而不是循环变量i
。
document.getElementById("thismessage").innerHTML = total;
// ^^^^^
function beginhere() {
var arr = [4, 15, 10, 7, 6, 18, 1, 18, 8, 45, 55, 16, 9, 19, 11, 13, 14],
total = 0,
i;
for (i = 0; i < arr.length; i++) {
total += arr[i];
}
document.getElementById("thismessage").innerHTML = total;
}
beginhere();
&#13;
<div id="thismessage"></id>
&#13;
答案 1 :(得分:2)
for(i=0; i<length; i++)
total += arr[i];
function beginhere() {
var arr = [4,15,10,7,6,18,1,18,8,45,55,16,9,19,11,13,14];
var total =0
var i =0
for(i=0; i < arr.length; i++) {
total += arr[i];
}
console.log(total);
}
beginhere();
另一种方法Array#reduce
Arrow function
只是像这样使用
var arr = [4,15,10,7,6,18,1,18,8,45,55,16,9,19,11,13,14];
var res = arr.reduce((a,b) => a+b ,0)
console.log(res)
答案 2 :(得分:1)
一些更正:
您在if (ob is IMasterAutoSuggestOutlet) {
var transferObject = new MasterAutoSuggestModel(){
//Set Properties
}
// var ToBeTransfered = collection.OfType<MasterAutoSuggestModel>(); //Simply returns the collection with a count 0
var serializedData = JsonConvert.SerializeObject(transferObject);
ScenarioFrame.Navigate(typeof(MasterSearchResultPage), serializedData); }
循环开始时缺少分号;
for
访问后,您不需要额外的[1]
;以及
您可能需要将内容设置为arr[i]
而不是total
。
其他一些建议:
i
代替textContent
;和innerHTML
放在var i = 0
循环的中(这是常见做法)。
for
function beginhere() {
var arr = [4, 15, 10, 7, 6, 18, 1, 18, 8, 45, 55, 16, 9, 19, 11, 13, 14]
var total = 0
for (var i = 0; i < arr.length; i++) {
total += arr[i]
}
document.getElementById("thismessage").textContent = total
}
beginhere()