在javascript中清除数组

时间:2012-11-17 21:03:31

标签: javascript jquery html arrays

我尝试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>');
}

然后在按钮上单击我遍历该数组并将其保存到db。一旦完成,我需要数组中没有任何内容。如果我仍然有原始对象,他们会再次写入数据库。

2 个答案:

答案 0 :(得分:0)

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

然后你可以真正做到

playerNameArray.setAll("")

答案 1 :(得分:0)

将其设置为[]new Array()会用空白数组覆盖当前值。

如果要循环数组,可以通过测试其长度来检查它是否有任何元素:

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

您还可以使用typeof函数测试数组的各个元素:

if(typeof(playerNameArray[3]) == 'undefined')
{
    // element 3 is undefined
}