js处理多规格效果demo(整理)

简介: js处理多规格效果demo(整理)

<!DOCTYPE html>
<html lang="zh">
  <head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>处理多规格</title>
  </head>
  <body>
  </body>
  <script>
    var arrList = [{
        num1: '颜色',
        arr1: [{
          num2: '红'
        }, {
          num2: '黄'
        }, {
          num2: '蓝'
        }]
      },
      {
        num1: '重量',
        arr1: [{
          num2: '1kg'
        }, {
          num2: '2kg'
        }]
      },
      {
        num1: '码数',
        arr1: [{
          num2: '36码'
        }]
      },
    ]
    // 把arrlist处理成list这种格式,并且arrlist和arrlist下面的arr1长度不固定
    var list = [{ //处理后的数据
        cen: '红-1kg-36码',
        jiage1: '',
        kucun: '',
      },
      {
        cen: '红-2kg-36码',
        jiage1: '',
        kucun: '',
      }
    ]
    transformArrList(arrList)
    function transformArrList(arrList) {
      const productVariants = arrList.reduce((acc, category) => {
        const categoryVariants = category.arr1.map((variant) => ({
          [category.num1]: variant.num2
        }));
        return acc.length === 0 ?
          categoryVariants :
          acc.flatMap((item) =>
            categoryVariants.map((variant) => ({
              ...item,
              ...variant
            }))
          );
      }, []);
      let result = productVariants.map(i => {
        return {
          cen: Object.values(i).join('-'),
          jiage1: '',
          kucun: '',
        }
      })
      console.log(result);
      return result;
    }
  </script>
</html>
相关文章
|
7月前
|
JavaScript 前端开发 Python
Node.js在Python中的应用实例demo
Node.js在Python中的应用实例demo
|
8月前
|
JavaScript
js根据月份获取天数和对应的星期demo(整理)
js根据月份获取天数和对应的星期demo(整理)
|
6天前
|
前端开发 应用服务中间件 nginx
Next.js 创建项目到服务器部署(目录结构介绍、项目结构Demo、开发细节注意)
Next.js 创建项目到服务器部署(目录结构介绍、项目结构Demo、开发细节注意)
465 0
|
6天前
|
JavaScript 前端开发
JS实现网页页面的框架(demo)
JS实现网页页面的框架(demo)
12 1
|
8月前
|
JavaScript
js秒转成小时分钟效果demo(整理)
js秒转成小时分钟效果demo(整理)
|
8月前
|
JavaScript
html使用vue模板、html引入vue.js-测试demo
html使用vue模板、html引入vue.js-测试demo
|
8月前
|
JavaScript
js计算时间差(小时和分钟)demo效果
js计算时间差(小时和分钟)demo效果
|
8月前
|
JavaScript
原生Js显示富文本效果demo(整理)
原生Js显示富文本效果demo(整理)
|
8月前
|
JavaScript
js根据日期计算星期几效果demo(整理)
js根据日期计算星期几效果demo(整理)
|
8月前
|
JavaScript
js将一维数组转化为二维数组、二维数组转化为一维数组效果demo(整理)
js将一维数组转化为二维数组、二维数组转化为一维数组效果demo(整理)