javascript清除数组

Posted

技术标签:

【中文标题】javascript清除数组【英文标题】:javascript clean array 【发布时间】:2012-01-24 00:28:17 【问题描述】:

我有四个产品库,可以从每个库中检查每个产品的详细信息。每次用户输入任何产品的详细信息时,数组都会填充该库中的所有产品。我应该说这是一页。

我想在用户退出详细视图时完全删除数组中的所有记录,因为当用户再次进入详细视图时,数组长度会增加他的大小。

我已经尝试过arrayName.length =0;arrayName.length = [] 并删除了以前的数据,但他的大小继续像这样增加:

第一次加载详细视图 --> arrayNamevalA,valB,valC

第二次加载详细视图 --> arrayName,,,val1,val2,val3

第二次应该是:arrayNameval1,val2,val3

知道如何解决这个问题吗??

谢谢大家

解决方案

谢谢大家。这是我的问题。

while($rowDetails = mysql_fetch_array($rsDetails))
?>
        <script language="javascript">
            arrayProd[pos] = <?php echo $rowDetails['RefArticleID']; ?>;
            pos++;
        </script>
   ... 

数组被填充到一个while循环中,它增加了pos。同时我重新初始化数组我强制 pos 为 0(零)

arrayProd = [];
pos =0;

谢谢大家

【问题讨论】:

【参考方案1】:

这个真的很简单,重新初始化数组就好了:

arrayName = [];

【讨论】:

【参考方案2】:

您是否尝试通过将数组设置为空数组来重新初始化数组?

arrayName = [];

【讨论】:

这不是“重新声明”数组,而是将一个新的数组对象分配给变量 arrayName (即初始化,根据 SoWeLie 的回答)。第二次声明变量(即var arrayName;)对其值没有影响。【参考方案3】:

我已经尝试过 arrayName.length =0;

这应该可行,除了可能不符合 ECMA-262 ed 3 的浏览器 - 应该非常非常少。你在哪个浏览器中失败了?

和 arrayName.length = []

大概你的意思是(否则你会看到一个错误):

arrayName = [];

应该可以正常工作。

【讨论】:

以上是关于javascript清除数组的主要内容,如果未能解决你的问题,请参考以下文章

如何快速清除 JavaScript 对象?

JavaScript之清除数组空值项包括空数组空对象isArraystringifypushcontinuelength

JavaScript中清空数组最有效的三种方法

JavaScript中清空数组最有效的三种方法

如何在javascript中清除jsonArray [重复]

5分钟,掌握9个风骚简洁的JavaScript技巧