如何在javascript中清除数组?

时间:2016-07-20 14:34:58

标签: javascript arrays

在这个答案上,How do I empty an array in JavaScript?建议将Array length值设置为0,所以如果A = [0,0,0,0]那么A.length = 0应该使它A = []但是我无法用我的代码实现这一点,

我觉得我确实做得对,但是,javascript正在打印错误的变量

我的代码是:

client.fetchCart(localStorage.getItem('lastCartId')).then(function(remoteCart) {
                console.log(cart);
                cart.lineItems.length = 0 ;
                console.log(cart.lineItems.length);
                console.log(cart.lineItems);
                client.updateCart(cart);
            });

在将数组长度设置为0之前记录购物车,然后再次记录,但在我的调试中,两个记录的购物车具有相同的lineItems.length。这意味着使用cart.lineItems.length = 0将其设置为0;没有工作:(

有什么建议吗?

3 个答案:

答案 0 :(得分:1)

A = [1, 2, 3]
console.log(A);
A.length = 0;
console.log(A);

它显然有效。

答案 1 :(得分:1)

这是一个可以尝试运行的lil脚本 成功:))

<!DOCTYPE html>
<html>
<head>
    <title></title>
</head>
<script type="text/javascript">

    function arr()
    {
        var a=[1,2,3]
        alert(a);
        a=[];
        alert(a);
    }

</script>
<body>
<button onclick="arr()">CLick</button>
</body>
</html>

然而,你可以尝试另外一种内置功能。<​​/ p>

这是我在循环中的示例a.pop(),直到数组中的所有元素都被删除。为此,必须运行循环来迭代数组中的所有元素

答案 2 :(得分:0)

以下是从阵列中删除所有元素的更好方法,以及使用for循环,

var ary = [12, 4, 15, 18, 19, 21]; Array.prototype.removeElement = function removeElement(){ var that = this; while(that.length){ that.shift(); } return that; }; console.log(ary.removeElement());