在JavaScript中使用push方法定义键

在JavaScript中使用push方法定义键,javascript,jquery,angular,ionic-framework,ionic2,Javascript,Jquery,Angular,Ionic Framework,Ionic2,我正在用JavaScript(Ionic 2/Angular)开发一个简单的购物车解决方案 在PHP中,我只需执行以下操作: <?php $cart = array( 48131 => array( 'size' => 'STANDART', 'qty' => 1, ) ); print_r($cart); 这就是我得到的- 看起来push方法只是添加了另一个键,从0开始(我想这是正常的)。我尝试过很多事情,但都做不好

我正在用JavaScript(Ionic 2/Angular)开发一个简单的购物车解决方案

在PHP中,我只需执行以下操作:

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

print_r($cart);
这就是我得到的-

看起来push方法只是添加了另一个键,从0开始(我想这是正常的)。我尝试过很多事情,但都做不好。。。有人能帮忙吗?

就这么办

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

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

    console.log(this.cart);
}
干脆

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

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

    console.log(this.cart);
}

有角度一侧的购物车应该有一个对象。并将一个项目放入其中,如下所示: var-cart={};
购物车[id]={prop1:val1,prop2:val2}

角度侧的购物车应该有一个对象。并将一个项目放入其中,如下所示: var-cart={};
购物车[id]={prop1:val1,prop2:val2}

this.cart={};this.cart[this.id]=[“size”:this.size,“qty”:this.qty]
this.cart={};this.cart[this.id]=[“size”:this.size,“qty”:this.qty]当我这样做时,在第二次添加时,console.log返回“(48132)[null,null,null,null…”。奇怪…是的,它会将null插入剩余的指示符中,因此没有其他方法了?:-(或者您可以使用对象而不是数组作为上面的更新代码。您可以像这样获得值。cart[id[没关系,第一次没用,因为我忘了将
this.cart=[]
更改为
this.cart={}
。谢谢!当我这样做时,在第二次添加时,console.log返回“(48132)[null,null,null,null…。奇怪……是的,它会在剩余的指示中插入null,所以没有其他方法了?:-(或者您可以使用对象而不是数组作为上面的更新代码。您可以获得如下值。cart[id[没关系,它第一次不起作用,因为我忘记将
this.cart=[]
更改为
this.cart={}
。谢谢!