SOURCE

const skuKeyList =  [
      {
        skuKeyNo: '尺码1的keyno',
        skuKeyDesc: '尺寸',
        skuValueList: [
          {
            skuValueNo: 'aaa',
            skuValueDesc: 's'
          },
          {
            skuValueNo: 'bbb',
            skuValueDesc: 'm'
          }
        ]
      },
      {
        skuKeyNo: '颜色1的keyno',
        skuKeyDesc: '颜色',
        skuValueList: [
          {
            skuValueNo: 'ccc',
            skuValueDesc: 'red'
          },
          {
            skuValueNo: 'ddd',
            skuValueDesc: 'blue'
          }
        ]
      },
      {
        skuKeyNo: '测试1的keyno',
        skuKeyDesc: '测试',
        skuValueList: [
          {
            skuValueNo: 'SV03b988eb730e1000',
            skuValueDesc: 'qq'
          },
          {
            skuValueNo: 'SV03b988eddc4e1000',
            skuValueDesc: 'ww'
          }
        ]
      }
    ]

function combination(arr){
    if(!Array.isArray(arr)){
      return  
    }
    let newObject = {}
    for(item of arr){
        if( !newObject.hasOwnProperty(item.skuKeyNo)){
        newObject[item.skuKeyNo] = item.skuValueList.map(i=>{return i.skuValueNo})
        }
    }
return Object.keys(newObject).reduce( (result, key) => {
        return newObject[key].reduce( (acc, value) => {
            if (!result.length) {
                // 将数值转化为对象格式
                return acc.concat({ [key]: value });
            }
            return acc.concat( result.map( ele => (Object.assign({}, ele, { [key]: value }) )));
        }, []);
    }, []);
}
console.log(combination(skuKeyList))
console 命令行工具 X clear

                    
>
console