在这个答案上,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;没有工作:(
有什么建议吗?
答案 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());