2017-07-06 60 views
1

我正在開發JavaScript中的簡單購物車解決方案(Ionic 2/Angular)。在JavaScript中使用推送方法定義密鑰

在PHP中我只是做到以下幾點:

<?php 
$cart = array(
    48131 => array(
     'size' => 'STANDART', 
     'qty' => 1, 
    ) 
); 

print_r($cart); 

而且48131index,所以以後我可以很容易地將其刪除(因爲我知道key48131)。

這是我的JavaScript代碼(例子):

function addToCart() { 
    this.cart = []; 

    this.cart.push({ 
     id: this.id, 
     size: this.size, 
     qty: this.qty 
    }); 

    console.log(this.cart); 
} 

而這就是我得到的 -

enter image description here

它看起來像push方法只是增加了一個關鍵,從開始0(我猜是正常的)。我已經嘗試了很多東西,我不能做對了......有人可以幫忙嗎?

+0

'this.cart = {}; this.cart [this.id] = [「size」:this.size, 「qty」:this.qty];' –

回答

0
this.cart = {}; 
function addToCart() {  
    this.cart[this.id]= { 
     size: this.size, 
     qty: this.qty 
    }; 
    console.log(this.cart); 
} 
+0

當我這樣做時,第二個添加,console.log返回「(48132)[null,null,null,null ...」。怪異的... –

+0

是的,它會在剩餘的索引中插入null – Vineesh

+0

那麼沒有其他辦法了? :-( –

0

只需做角側

function addToCart() { 
    this.cart = []; 

    this.cart['48131'] = { 
     id: this.id, 
     size: this.size, 
     qty: this.qty 
    }; 

    console.log(this.cart); 
} 
0

車應該有一個對象。並將其中的項目如下所示: var cart = {}; cart [id] = {prop1:val1,prop2:val2};

相關問題