-1

私はplayerNameArray.length = 0; これが配列を空にしないようにして、それらの値をundefined.

私はplayerNameArray = [];これが配列を空にしないようにして、それらの値をundefined.

私はvar playerNameArray = new Array (); これが配列を空にしないようにして、それらの値をundefined.

たぶん問題は、初期配列が公開されていて、関数内でそれらを空にしようとすることですか?

おそらく問題は、JavaScript でその配列を公開する必要があることです。これは、html ページで配列を関数に渡し、関数内で初期化するとページが配列を認識しないためです。

各配列オブジェクトをデータベースに追加しますが、ユーザーは最初の配列を挿入した後に新しい配列を作成できるはずです。私は挿入ステートメントをチーズしようとし、配列要素が != '未定義' の場合はそれを挿入すると言いましたが、それは完全に無視され、undefined.

何か提案はありますか?

コードは次のとおりです。

var createListCounter = 0;
var playerID = new Array();
var playerNameArray = new Array();

function addToList(espnPlayerID, playerName) {
    playerID[createListCounter] = espnPlayerID; playerNameArray[createListCounter]                =playerName;
    createListCounter++
    var url = "";
    $('#accumListPlayer').append('<tr><td>'+ playerName + '</td></tr>');
}

次に、ボタンをクリックして、その配列を反復処理し、oa db に保存します。それが完了したら、配列に何も入れないようにする必要があります。元のオブジェクトがまだ残っている場合は、データベースに再度書き込みます。

4

2 に答える 2

0
Array.prototype.setAll = function(v) {
    var i, n = this.length;
    for (i = 0; i < n; ++i) {
        this[i] = v;
    }
};

そして、あなたは実際に行うことができます

playerNameArray.setAll("")
于 2012-11-17T21:09:47.790 に答える
0

これを設定すると、現在の値と等しい[]new Array()、空の配列で上書きされます。

配列をループしている場合は、長さをテストすることで要素があるかどうかを確認できます。

if(playerNameArray.length > 0) // has at least one element

typeof関数を使用して、配列の個々の要素をテストすることもできます。

if(typeof(playerNameArray[3]) == 'undefined')
{
    // element 3 is undefined
}
于 2012-11-17T21:17:27.787 に答える