-1

我尝试playerNameArray.length = 0; 这不会清空数组,而是使这些值成为undefined.

我尝试playerNameArray = [];这不会清空数组,而是使这些值成为undefined.

我尝试var playerNameArray = new Array (); 这不会清空数组,而是使这些值成为undefined.

也许问题是初始数组是公开的,我尝试在函数内部清空它们?

也许问题是我需要在我的 JavaScript 中公开该数组,因为在我的 html 页面上,我将数组传递给一个函数,如果我在使用它的函数中对其进行初始化,页面将无法识别该数组?

我将每个数组对象添加到数据库中,但用户应该能够在插入第一个数组后创建一个新数组。我试图阻止我的插入语句,并说如果数组元素 != 'undefined' 然后插入它,但它完全忽略了这一点并插入了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 回答