开发者社区> 问答> 正文

求助关于实现购物车数组的问题

每样商品有id, title, price, 每点击一次购买我就将其加入数组,但是我想根据Id判断,当重复加入一件产品到购物车的时候,将相同的产品加入一个二维数组,怎么写呢?

[
    [
        {鸡腿},{鸡腿},{鸡腿},{鸡腿}
    ],
    [
        {狗腿},{狗腿},{狗腿}
    ],
    [
        {猫咪},{猫咪},{猫咪},{猫咪},{猫咪},{猫咪}
    ]
]

展开
收起
爵霸 2016-06-17 11:19:28 1740 0
1 条回答
写回答
取消 提交回答
  • 你的这种思路本身不可取。二维数组里面全是一样的东西。。有点坑。
    这种格式好点,参考一下

    var cart = {
        'id01':{n:'鸡腿', count: 4},
        'id02':{n:'鸭腿', count: 3},
        'id03':{n:'猪腿', count: 2},
        'id04':{n:'狗腿子', count: 1}
    }
    
    
    不过,如果你非要这样子做
    var list = [
        [{n:'鸡腿'},{n:'鸡腿'},{n:'鸡腿'},{n:'鸡腿'},{n:'鸡腿'}],
        [{n:'鸭腿'},{n:'鸭腿'},{n:'鸭腿'},{n:'鸭腿'}],
        [{n:'猪腿'},{n:'猪腿'},{n:'猪腿'},{n:'猪腿'}]
    ];
    
    function fn(o){
        var inArray = false;
        list.map(function(item){
            if( item.indexOf(o) > -1){
                inArray = true;
                item.push(o);
            }
        });
        inArray || list.push([o]);
    }
    
    fn(list[1][1]);
    
    fn({n:'狗腿子'});
    2019-07-17 19:42:16
    赞同 展开评论 打赏
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载