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));