You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用JavaScript实现SKU属性值的笛卡尔积组合生成

JavaScript 生成SKU笛卡尔积组合实现方案

实现思路

  • 先提取输入数组中所有元素的prop2属性,得到待组合的二维数组
  • 基于数组reduce方法实现通用笛卡尔积计算逻辑
  • 对计算得到的组合结果按要求格式化输出

完整实现代码

// 通用笛卡尔积计算函数
function cartesian(arr) {
  return arr.reduce((prev, curr) => {
    const res = []
    prev.forEach(p => {
      curr.forEach(c => {
        res.push(p.concat([c]))
      })
    })
    return res
  }, [[]])
}

// 输入数组示例
const input = [
  {prop1: 'abc', prop2: ['1', '2', '3']},
  {prop1: 'xyz', prop2: ['8', '6']}
]

// 提取所有prop2属性的数组
const propList = input.map(item => item.prop2)
// 计算笛卡尔积
const result = cartesian(propList)
// 按要求格式化输出结果
const formattedResult = result.map(item => `(${item.join(',')})`)

// 打印输出
formattedResult.forEach(item => console.log(item))

输出结果

运行代码后输出内容和要求完全一致:

(1,8)
(1,6)
(2,8)
(2,6)
(3,8)
(3,6)

扩展说明

如果后续需要新增更多属性维度,仅需在input数组中新增对应元素即可,核心计算逻辑无需修改,可自动适配多维度SKU组合生成。

内容的提问来源于stack exchange,提问作者H John

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 09:18:02