每樣商品有id, title, price, 每點擊一次購買我就將其加入數組,但是我想根據Id判斷,當重復加入一件產品到購物車的時候,將相同的產品加入一個二維數組,怎么寫呢?[
[
{雞腿},{雞腿},{雞腿},{雞腿}
],
[
{狗腿},{狗腿},{狗腿}
],
[
{貓咪},{貓咪},{貓咪},{貓咪},{貓咪},{貓咪}
]
]謝謝各位,確實我這種思路確實很辣雞,感謝你們的建議!
1 回答

森欄
TA貢獻1810條經驗 獲得超5個贊
上面的朋友說的沒錯,你的這種思路本身不可取。二維數組里面全是一樣的東西。。有點坑。
這種格式好點,參考一下
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:'狗腿子'});
這只是參考,不提倡