第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何操作此數(shù)組,得到如下的笛卡爾積?求高效方法

如何操作此數(shù)組,得到如下的笛卡爾積?求高效方法

qq_遁去的一_1 2019-02-05 13:17:03
//數(shù)組長度不固定const spec = [   { label: '顏色', content: ['紅色', '黑色', '藍色'] },   { label: '產地', content: ['杭州', '貴州', '商州'] },   { label: '尺寸', content: ['大號', '中號', '小號'] } ];//操作spec得到如下datas,spec0,spec1,spec2是動態(tài)對應spec數(shù)組的順序,總共生成27個對象const datas = [   {    spec0: '紅色',    spec1: '杭州',    spec2: '大號'   },   {    spec0: '紅色',    spec1: '杭州',    spec2: '中號'   },   {    spec0: '紅色',    spec1: '杭州',    spec2: '小號'   },   {    spec0: '紅色',    spec1: '貴州',    spec2: '大號'   },   {    spec0: '紅色',    spec1: '貴州',    spec2: '中號'   },   {    spec0: '紅色',    spec1: '貴州',    spec2: '小號'   },   {    spec0: '紅色',    spec1: '商州',    spec2: '大號'   },   {    spec0: '紅色',    spec1: '商州',    spec2: '中號'   },   {    spec0: '紅色',    spec1: '商州',    spec2: '小號'   }  //.....];
查看完整描述

2 回答

?
慕妹3242003

TA貢獻1824條經驗 獲得超6個贊

In [1]: import itertools

In [2]: list(itertools.product(['紅色', '黑色', '藍色'], ['杭州', '貴州', '商州'], ['大號', '中號', '小號']))
Out[2]: 
[('紅色', '杭州', '大號'),
 ('紅色', '杭州', '中號'),
 ('紅色', '杭州', '小號'),
 ('紅色', '貴州', '大號'),
 ('紅色', '貴州', '中號'),
 ('紅色', '貴州', '小號'),
 ('紅色', '商州', '大號'),
 ('紅色', '商州', '中號'),
 ('紅色', '商州', '小號'),
 ('黑色', '杭州', '大號'),
 ('黑色', '杭州', '中號'),
 ('黑色', '杭州', '小號'),
 ('黑色', '貴州', '大號'),
 ('黑色', '貴州', '中號'),
 ('黑色', '貴州', '小號'),
 ('黑色', '商州', '大號'),
 ('黑色', '商州', '中號'),
 ('黑色', '商州', '小號'),
 ('藍色', '杭州', '大號'),
 ('藍色', '杭州', '中號'),


查看完整回答
反對 回復 2019-02-19
?
守著一只汪

TA貢獻1872條經驗 獲得超4個贊

參考python itertools.product的實現(xiàn)function product(pools) {
    result = [[]]
    pools.forEach(pool => {        // python中一行 result = [x+[y] for x in result for y in pool]
        r1 = []
        result.forEach(x => {
            pool.forEach(y => {
                r1.push(x.concat(y))
            })
        })
        result = r1
    })    return result   
}

datas = product(spec.map(o=>o.content)).map(o=>{return {"spec0": o[0], "spec1": o[1], "spec2": o[2]}})console.log(datas)


查看完整回答
反對 回復 2019-02-19
  • 2 回答
  • 0 關注
  • 576 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號