//數(shù)組長(zhǎng)度不固定const spec = [
{ label: '顏色', content: ['紅色', '黑色', '藍(lán)色'] },
{ label: '產(chǎn)地', content: ['杭州', '貴州', '商州'] },
{ label: '尺寸', content: ['大號(hào)', '中號(hào)', '小號(hào)'] }
];//操作spec得到如下datas,spec0,spec1,spec2是動(dòng)態(tài)對(duì)應(yīng)spec數(shù)組的順序,總共生成27個(gè)對(duì)象const datas = [
{ spec0: '紅色', spec1: '杭州', spec2: '大號(hào)'
},
{ spec0: '紅色', spec1: '杭州', spec2: '中號(hào)'
},
{ spec0: '紅色', spec1: '杭州', spec2: '小號(hào)'
},
{ spec0: '紅色', spec1: '貴州', spec2: '大號(hào)'
},
{ spec0: '紅色', spec1: '貴州', spec2: '中號(hào)'
},
{ spec0: '紅色', spec1: '貴州', spec2: '小號(hào)'
},
{ spec0: '紅色', spec1: '商州', spec2: '大號(hào)'
},
{ spec0: '紅色', spec1: '商州', spec2: '中號(hào)'
},
{ spec0: '紅色', spec1: '商州', spec2: '小號(hào)'
} //.....];
2 回答

四季花海
TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超5個(gè)贊
In [1]: import itertools In [2]: list(itertools.product(['紅色', '黑色', '藍(lán)色'], ['杭州', '貴州', '商州'], ['大號(hào)', '中號(hào)', '小號(hào)'])) Out[2]: [('紅色', '杭州', '大號(hào)'), ('紅色', '杭州', '中號(hào)'), ('紅色', '杭州', '小號(hào)'), ('紅色', '貴州', '大號(hào)'), ('紅色', '貴州', '中號(hào)'), ('紅色', '貴州', '小號(hào)'), ('紅色', '商州', '大號(hào)'), ('紅色', '商州', '中號(hào)'), ('紅色', '商州', '小號(hào)'), ('黑色', '杭州', '大號(hào)'), ('黑色', '杭州', '中號(hào)'), ('黑色', '杭州', '小號(hào)'), ('黑色', '貴州', '大號(hào)'), ('黑色', '貴州', '中號(hào)'), ('黑色', '貴州', '小號(hào)'), ('黑色', '商州', '大號(hào)'), ('黑色', '商州', '中號(hào)'), ('黑色', '商州', '小號(hào)'), ('藍(lán)色', '杭州', '大號(hào)'), ('藍(lán)色', '杭州', '中號(hào)'), ('藍(lán)色', '杭州', '小號(hào)'), ('藍(lán)色', '貴州', '大號(hào)'), ('藍(lán)色', '貴州', '中號(hào)'), ('藍(lán)色', '貴州', '小號(hào)'), ('藍(lán)色', '商州', '大號(hào)'), ('藍(lán)色', '商州', '中號(hào)'), ('藍(lán)色', '商州', '小號(hào)')]

MMTTMM
TA貢獻(xiàn)1869條經(jīng)驗(yàn) 獲得超4個(gè)贊
參考python itertools.product的實(shí)現(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)
- 2 回答
- 0 關(guān)注
- 520 瀏覽
添加回答
舉報(bào)
0/150
提交
取消