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>
相关文章
|
12月前
|
JavaScript 前端开发 Python
Node.js在Python中的应用实例demo
Node.js在Python中的应用实例demo
88 2
|
JavaScript
js根据月份获取天数和对应的星期demo(整理)
js根据月份获取天数和对应的星期demo(整理)
|
5月前
|
前端开发 应用服务中间件 nginx
Next.js 创建项目到服务器部署(目录结构介绍、项目结构Demo、开发细节注意)
Next.js 创建项目到服务器部署(目录结构介绍、项目结构Demo、开发细节注意)
843 0
|
3天前
|
算法 JavaScript 前端开发
第一个算法项目 | JS实现并查集迷宫算法Demo学习
本文是关于使用JavaScript实现并查集迷宫算法的中国象棋demo的学习记录,包括项目运行方法、知识点梳理、代码赏析以及相关CSS样式表文件的介绍。
第一个算法项目 | JS实现并查集迷宫算法Demo学习
|
8天前
|
JavaScript 前端开发
JS配合CSS3实现动画和拖动小星星小Demo
本文通过代码示例展示了如何使用JavaScript和CSS3实现动画效果和拖动小星星的交互效果,包括文字掉落动画和鼠标拖动产生小星星动画的实现方法。
20 0
JS配合CSS3实现动画和拖动小星星小Demo
|
2月前
|
JavaScript 前端开发
JavaScript——一个简单的队列Demo
JavaScript——一个简单的队列Demo
35 4
|
2月前
|
缓存 JavaScript 前端开发
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)
微信 JS-SDK Demo “分享信息设置” API 及数字签名生成方法(NodeJS版本)更新时间(2020-10-29)
|
5月前
|
JavaScript 前端开发
JS实现网页页面的框架(demo)
JS实现网页页面的框架(demo)
30 1
|
JavaScript
js秒转成小时分钟效果demo(整理)
js秒转成小时分钟效果demo(整理)
|
JavaScript
html使用vue模板、html引入vue.js-测试demo
html使用vue模板、html引入vue.js-测试demo