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之清除数组空值项包括空数组空对象isArraystringifypushcontinuelength