2016-07-01 18 views
-1

関数、配列、およびforループをよりよく理解しています。私は数値の配列を取り、一緒に追加された配列内のすべての項目の合計を返す関数を作成するために探しています。私は配列を合計する方法を考え出した。関数に数値の配列を配置するのが難しい

var myArray = [1, 2, 3, 4, 5]; 
 
var myTotal = 0; 
 

 
for (i = 0; i < myArray.length; i++) { 
 
    myTotal += myArray[i]; 
 
} 
 
            
 
console.log (myTotal);

私は、私が一緒に二つの概念を追加しようとすると、しかし、それが機能することはありません、関数を呼び出し/作成する方法を知っています。関数のパラメータに配列を配置できますか?

多かれ少なかれ、配列を合計する関数に数値の配列をとるコードコンセプトを作成したいと思います。どのような助けも大変ありがとうと思います。

+0

あなたはそれを使用する前に、VaRの私を宣言したのですか? –

+1

*「2つのコンセプトを一緒に追加しようとするとうまくいかない」*その試みを示してから、正しくないものを教えてください。 –

+0

サイドノート:[*暗黙のグローバルの恐怖*](http://blog.niftysnippets.org/2008/03/horror-of-implicit-globals.html):「i」を宣言してください。 –

答えて

1

短い答えは「はい」です。配列参照を含む任意の値を関数に渡すことができます。

はここにあなたのケースで必要なものです:

var myArray = [1, 2, 3, 4, 5]; 
 

 
function totalArray(arr) { 
 
    var myTotal = 0; 
 
    
 
    for (var i = 0; i < arr.length; i++) { 
 
    myTotal += arr[i]; 
 
    } 
 

 
    return myTotal; 
 
} 
 

 
document.getElementById("value").innerText = totalArray(myArray);
<div id="value"></div>

+1

本当にここに苦労するつもりはありませんが、「JavaScriptの中では、すべてがオブジェクトです。」*は間違っています。 JavaScriptにはオブジェクトではないプリミティブがあり、実際には 'var a = 3'の' 3'がプリミティブの例です。 JSは確かに**非常に**オブジェクト指向であり、他の多くのOOP言語よりもさらに強力ですが、*すべて*はオブジェクトではありません。 –

+0

公正なポイント、私は編集を受け入れるよりも幸せです。私はフォーラムのビジネスにはかなり新しいので、学習の経験と訂正が起こるようになるでしょう。 –

+0

興味深いメモがあります。私は 'var a = 3'と言うことができ、次に' '3" 'を返す' a.toString() 'を呼び出します。これは純粋なプリミティブを超えてある程度の機能性を意味します –

-1
See if this helps : 
//function 
function getTotal(myArray){ 

var myTotal = 0; 

for (i = 0; i < myArray.length; i++) { 
    myTotal += myArray[i]; 
} 

return myTotal; 
} 


//function call 
var myArray = [1, 2, 3, 4, 5]; 

var total = getTotal(myArray); 

にconsole.log(合計)。

+0

助けてくれてありがとう@Ganpat Jha! – HeresJohnny5

0
var myArray = [1, 2, 3, 4, 5]; 

function totalArray(arr) { 
    var myTotal = 0; 
    arr.forEach(number){myTotal +=number}; 
return myTotal; 
} 

console.log(totalArray(myArray)); 

forループの代わりに、上記のようにEachにも使用できます。

// btw私は間違いが、実行するように指示するのではなく、コードを実行することを期待していたと思います。

Javascriptには、すべての機能を関数に入れて実行しますが、これは通常のやり方です。 snipetがここに実行かもしれませんが、それは

+0

応答とフィードバックのための@Gammeldagsに感謝します。私は.forEachに慣れていませんが、確かにこれを調べます。 – HeresJohnny5

0

を実行するために、いくつかのものは、実際のコードで必要とされているあなたはそれを行うことができます。

var myArray = [1, 2, 3, 4, 5]; 

function sum(arr) { 
    return arr.reduce(function(a,b){return a + b;}); 
} 

console.log(sum(myArray)); 
関連する問題