-8

したがって、次のように宣言された「addEmUp」という名前の関数を作成する必要がある割り当てがあります。

function addEmUp() {

     // Your code goes here.

};

addEmUp は、配列内の数値の合計を返します。配列の名前は LASVEGAS で、配列には 3 つの値があります。

配列 LASVEGAS が存在します - 作成せずに使用してください。

私は無知です、どうすればこの関数を書くことができますか?

ありがとう

4

3 に答える 3

5

試す:

var sum = LASVEGAS.reduce(function(a,b){return a+b;});

次に、これを関数に実装する方法を自分で見つけてください。

于 2012-10-15T04:37:55.690 に答える
1

for ループを使用して、配列内の各項目を反復処理します。

変数を使用して現在の合計を追跡することができます。

于 2012-10-15T04:38:29.307 に答える
0

物事を理解したかったので、この回答を書いています。私はあなたの宿題をやっているわけではありません。それがあなたがすべきことです。

ここで、LASVEGAS は 3 つの値を持つ配列です。3 つの値に固執しないでください。任意の長さにすることができます。

一般的な配列の例を想定しましょう

 LASVEGAS = [1,5,"a","b", true, false, , 34];

次に、配列に存在する数値の長さを抽出する必要があります。関数を使用して配列をフィルター処理する必要がありfilterます。ただし、これは古いブラウザでは機能しません。最新のブラウザのみをターゲットにしている場合は、以下のコードが機能するはずです

 LASVEGAS.filter(function(e) { return typeof e == "Number"; } )    
 // It will return filtered array of Numbers

そのため、古いブラウザもターゲットにしている場合は、以下のコードをページのどこかに追加してください。

 /**
  * Copyright (c) Mozilla Foundation http://www.mozilla.org/
  * This code is available under the terms of the MIT License
 */
 if (!Array.prototype.filter) {
 Array.prototype.filter = function(fun /*, thisp*/) {
    var len = this.length >>> 0;
    if (typeof fun != "function") {
        throw new TypeError();
    }

    var res = [];
    var thisp = arguments[1];
    for (var i = 0; i < len; i++) {
        if (i in this) {
            var val = this[i]; // in case fun mutates this
            if (fun.call(thisp, val, i, this)) {
                res.push(val);
            }
        }
    }

    return res;
  };
 }

そして、正確な要件に正確に取り組みたい場合、およびコードの下の一般的な方法が必要ない場合は、作業も行います

 LASVEGAS.Numbers = 0;
 for(var i = 0, j = LASVEGAS.length; i < j ; i++){
    if(typeof LASVEGAS[i] == "Number") LASVEGAS.Numbers;  
 }

次回からは、この種の質問を投稿しないでください。私たちはあなたのホームワークをするためにここにいるのではありません。

于 2012-10-15T05:03:24.923 に答える