JavaScripts之迪卡算法求积(n*n)适用于SKU信息计算等场景
迪卡算法求积(n * n)
var arr = [
['黑色', '白色', '蓝色'],
['1.2KG', '2.0KG', '3.0KG'],
['a', 'b'],
['aa', 'bb']
];
function descartes(array){
if( array.length < 2 ) return array[0] || [];
return array.reduce((pre, cur, index) => {
if(index === 0) {
return cur
}
const _sku = []
pre.forEach(c => {
cur.forEach(item => {
_sku.push(`${c}:${item}`)
})
})
console.log(_sku)
return _sku
}, [])
}
console.log(descartes(arr));