2016-07-20 5 views
-3

この回答では、How do I empty an array in JavaScript?は、配列の長さの値を0に設定することをお勧めします。したがって、A = [0,0,0,0]の場合、A.length = 0にするとA = []になります。私は、文字通り右のそれをやっているけど、Javascriptを間違った変数に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に設定することを意味します。働いていない:(

を任意の提案ですか?

+2

まあ答えのサイトには1つ以上の解決策があります。 –

+0

a = []は私が最良の方法を知っている限りです。 – Dellirium

+0

ちょうど楽しみのために: 'cart.items = cart.items.slice(cart.items.length)'。しかし、@Delliriumのソリューションは良いようです... – TGrif

答えて

1

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

これは明らかに動作しますが。uは試してみて、成功し を実行するためにここで

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> 

Hあなたが試してみることができる別の組み込み関数があります。

この例ではa.pop()がループ内にあり、配列内のすべての要素が削除されます。このためには、配列

0

ここアレイからもループのために使用せずに、すべての要素を除去するより良い方法があるのすべての要素を反復処理するループを実行することが不可欠である、

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());

関連する問題