商品規(guī)格組合算法,即SKU排列方法

商品規(guī)格組合算法可以用來生成所有可能的規(guī)格組合陆淀。這在電商網(wǎng)站中很有用考余,因為它可以幫助用戶選擇商品的不同規(guī)格組合,比如顏色轧苫、尺寸等楚堤。 以下是一個簡單的JavaScript算法來生成商品規(guī)格的所有組合:

function generateCombinations(specs, result = [], current = {}, i = 0) {
  if (i === specs.length) {
    result.push({ ...current });
  } else {
    for (const value of specs[i].values) {
      current[specs[i].name] = value;
      generateCombinations(specs, result, current, i + 1);
    }
  }
  return result;
}

// 示例規(guī)格數(shù)據(jù)
const specifications = [
  { name: 'color', values: ['red', 'blue'] },
  { name: 'size', values: ['S', 'M', 'L'] }
];

// 生成規(guī)格組合
const combinations = generateCombinations(specifications);
console.log(combinations);

在這個示例中,generateCombinations 函數(shù)接受一個規(guī)格數(shù)組和一個結(jié)果數(shù)組作為參數(shù)。它使用遞歸來生成所有可能的規(guī)格組合身冬,并將它們添加到結(jié)果數(shù)組中衅胀。最后,它返回結(jié)果數(shù)組酥筝。

當(dāng)你調(diào)用 generateCombinations 函數(shù)時滚躯,傳入包含規(guī)格名稱和值的規(guī)格數(shù)組,它將返回所有可能的規(guī)格組合樱哼。

這個算法可以幫助你在電商網(wǎng)站中處理商品規(guī)格組合哀九,讓用戶可以輕松選擇他們想要的商品規(guī)格剿配。

我們還可以簡化一下代碼:使用數(shù)組的 reduce 和 flatMap 方法:

function generateCombinations(specs) {
  return specs.reduce((acc, spec) => {
    return acc.flatMap(comb => spec.values.map(value => ({ ...comb, [spec.name]: value })));
  }, [{}]);
}

// 示例規(guī)格數(shù)據(jù)
const specifications = [
  { name: 'color', values: ['red', 'blue'] },
  { name: 'size', values: ['S', 'M', 'L'] }
];

// 生成規(guī)格組合
const combinations = generateCombinations(specifications);
console.log(combinations);
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末搅幅,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子呼胚,更是在濱河造成了極大的恐慌茄唐,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,744評論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件蝇更,死亡現(xiàn)場離奇詭異沪编,居然都是意外死亡,警方通過查閱死者的電腦和手機年扩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,505評論 3 392
  • 文/潘曉璐 我一進店門蚁廓,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人厨幻,你說我怎么就攤上這事相嵌。” “怎么了况脆?”我有些...
    開封第一講書人閱讀 163,105評論 0 353
  • 文/不壞的土叔 我叫張陵饭宾,是天一觀的道長。 經(jīng)常有香客問我格了,道長看铆,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,242評論 1 292
  • 正文 為了忘掉前任盛末,我火速辦了婚禮弹惦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘悄但。我一直安慰自己棠隐,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,269評論 6 389
  • 文/花漫 我一把揭開白布算墨。 她就那樣靜靜地躺著宵荒,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上报咳,一...
    開封第一講書人閱讀 51,215評論 1 299
  • 那天侠讯,我揣著相機與錄音,去河邊找鬼暑刃。 笑死厢漩,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的岩臣。 我是一名探鬼主播溜嗜,決...
    沈念sama閱讀 40,096評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼架谎!你這毒婦竟也來了炸宵?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,939評論 0 274
  • 序言:老撾萬榮一對情侶失蹤谷扣,失蹤者是張志新(化名)和其女友劉穎土全,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體会涎,經(jīng)...
    沈念sama閱讀 45,354評論 1 311
  • 正文 獨居荒郊野嶺守林人離奇死亡裹匙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,573評論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了末秃。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片概页。...
    茶點故事閱讀 39,745評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖练慕,靈堂內(nèi)的尸體忽然破棺而出惰匙,到底是詐尸還是另有隱情,我是刑警寧澤贺待,帶...
    沈念sama閱讀 35,448評論 5 344
  • 正文 年R本政府宣布徽曲,位于F島的核電站,受9級特大地震影響麸塞,放射性物質(zhì)發(fā)生泄漏秃臣。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,048評論 3 327
  • 文/蒙蒙 一哪工、第九天 我趴在偏房一處隱蔽的房頂上張望奥此。 院中可真熱鬧,春花似錦雁比、人聲如沸稚虎。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,683評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蠢终。三九已至序攘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間寻拂,已是汗流浹背程奠。 一陣腳步聲響...
    開封第一講書人閱讀 32,838評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留祭钉,地道東北人瞄沙。 一個月前我還...
    沈念sama閱讀 47,776評論 2 369
  • 正文 我出身青樓,卻偏偏與公主長得像慌核,于是被迫代替她去往敵國和親距境。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,652評論 2 354

推薦閱讀更多精彩內(nèi)容

  • 寫在前面 本篇文章主要是講 SKU 商品規(guī)格組合的 問題垮卓、解決思路及算法優(yōu)化垫桂。 最后 將提供一個SKU算法的通配方...
    OrangeAL閱讀 11,107評論 23 61
  • 公司最近在推進鋪貨工具的開發(fā)和優(yōu)化,所謂鋪貨扒接,指的是是說服零售商經(jīng)銷本企業(yè)產(chǎn)品的一系列過程伪货,是企業(yè)與經(jīng)銷商(或上線...
    凌寒水羽閱讀 1,179評論 0 0
  • 今天遇到需要編寫“排列組合算法”,雖然懂?dāng)?shù)學(xué)原理钾怔,但是真正寫的時候,還是吃不透蒙挑。最后結(jié)合網(wǎng)上的代碼宗侦,整理了出來。 ...
    bb15a2b6f19b閱讀 568評論 0 0
  • 組合算法 非遞歸算法 組合算法的思路是開一個數(shù)組忆蚀,其下標(biāo)表示1到m個數(shù)矾利,數(shù)組元素的值為1表示其下標(biāo)代表的數(shù)被選中,...
    九命丿相柳閱讀 1,150評論 0 1
  • 遞歸實現(xiàn)組合算法: 假設(shè)有m個不一樣的球馋袜,需要從中取出n個男旗,問有多少種取法?面對這個問題的時候欣鳖,遞歸算法處理該問題...
    晨旭_ead3閱讀 899評論 0 1