1. //原来的格式
  2. const PRODUCTS = [
  3. { category: 'Sporting Goods', price: '$49.99', stocked: true, name: 'Football' },
  4. { category: 'Sporting Goods', price: '$9.99', stocked: true, name: 'Baseball' },
  5. { category: 'Sporting Goods', price: '$29.99', stocked: false, name: 'Basketball' },
  6. { category: 'Electronics', price: '$99.99', stocked: true, name: 'iPod Touch' },
  7. { category: 'Electronics', price: '$399.99', stocked: false, name: 'iPhone 5' },
  8. { category: 'Electronics', price: '$199.99', stocked: true, name: 'Nexus 7' }
  9. ];
  10. //需要的格式 (就是把公共的标题提取出来了)
  11. const res=[{ category: 'Sporting Goods' },
  12. {
  13. product:
  14. {
  15. category: 'Sporting Goods',
  16. price: '$49.99',
  17. stocked: true,
  18. name: 'Football'
  19. }
  20. },
  21. {
  22. product:
  23. {
  24. category: 'Sporting Goods',
  25. price: '$9.99',
  26. stocked: true,
  27. name: 'Baseball'
  28. }
  29. },
  30. {
  31. product:
  32. {
  33. category: 'Sporting Goods',
  34. price: '$29.99',
  35. stocked: false,
  36. name: 'Basketball'
  37. }
  38. },
  39. { category: 'Electronics' },
  40. {
  41. product:
  42. {
  43. category: 'Electronics',
  44. price: '$99.99',
  45. stocked: true,
  46. name: 'iPod Touch'
  47. }
  48. },
  49. {
  50. product:
  51. {
  52. category: 'Electronics',
  53. price: '$399.99',
  54. stocked: false,
  55. name: 'iPhone 5'
  56. }
  57. },
  58. {
  59. product:
  60. {
  61. category: 'Electronics',
  62. price: '$199.99',
  63. stocked: true,
  64. name: 'Nexus 7'
  65. }
  66. }]
  67.  
  68. let rows = [];
  69. //记录最后一个分类的值,初始值为null
  70. let lastCategory = null;
  71. PRODUCTS.forEach(item => {
  72. if (item.category !== lastCategory) {
  73. rows.push({ category: item.category })
  74. }
  75. rows.push({ product: item })
  76. lastCategory = item.category;
  77. })
  78. console.log(rows)

  

将一个数组转化为需要的格式,来自react官网的商品列表示例的更多相关文章

  1. 验证Xcode真伪的方法,来自苹果官网

    验证Xcode真伪的方法,来自苹果官网   Xcode的验证你的版本 2015年9月22日    注意:中文为有道翻译,看下验证方法即可.   我们最近将应用程序从应用程序商店,还建有Xcode的假冒 ...

  2. Reveal常用技巧(翻译来自Reveal官网blog)

    翻译来自官网:http://revealapp.com/blog/reveal-common-tips-cn.html 以下基于Reveal 1.6. 用于快速上手的内置应用 刚刚下载Reveal,啥 ...

  3. 省市县镇村五级地址智能提取(标准地址源来自国家统计局官网)SpringBoot+Elasticsearch 5.6

    项目目的 根据传入的地址,智能提取所属的省市县镇村5级地址.例如:用户输入“江苏南通嗨安李堡镇陈庄村8组88号”,我们需要提取到江苏省  南通市  海安县(即便用户输入了错字,“海”写成了“嗨”) 李 ...

  4. jQuery选择器最佳实践--来自jQ官网

    1.基于ID选择器进行查询,并且使用find方法. //快速 $("#container div.footer"); //超快 $("#container"). ...

  5. consul eureka区别(来自Consul官网)

    consul 与 eureka Eureka是一个服务发现工具.该体系结构主要是客户端/服务器,每个数据中心有一组Eureka服务器,通常每个可用区域一个.通常Eureka的客户使用嵌入式SDK来注册 ...

  6. C语言中数组转化为字符串的方法

    #include<stdio.h> #include <stdlib.h> #include <string.h> #define NR(x) (sizeof(x) ...

  7. Arrays -数组工具类,数组转化字符串,数组排序等

    package cn.learn.basic; import java.util.Arrays; /* java.util.Arrays是一个与数组相关的工具类,含有大量静态方法,用来实现数组常见的操 ...

  8. http_build_query()就是将一个数组转换成url 问号?后面的参数字符串,并且会自动进行urlencode处理,及它的逆向函数

    http_build_query()就是将一个数组转换成url 问号?后面的参数字符串,并且会自动进行urlencode处理 例如: $data = array( 'foo'=>'bar', ' ...

  9. C#- 将秒数转化成任意时间格式

    将秒数转化成任意时间格式,可以使用C#的一个函数TimeSpan,看示例: TimeSpan ts = new TimeSpan(0, 0, 3661); richTextBox2.Text = ts ...

随机推荐

  1. [MIT6.006] 23. Computational Complexity 计算复杂度

    这节课主要讲的计算复杂度,一般有三种表达不同程度的计算复杂度,如下图所示: P:多项式时间: EXP:指数时间: R:有限时间内. 上图还给了一些问题的计算复杂度的对应结果,关于一些细节例如NP, N ...

  2. springboot升级导致文件上传自动配置/tmp目录问题解决

    1,..\web\src\main\resources\spring\web-men-applicationContext.xml 保留原有的bean配置 <bean id="mult ...

  3. Python_爬虫_百度图片

    百度图片有些有编码问题,暂时不能爬取,多试几个 #思路:抓取图片地址,根据地址转存图片(注意名称):难点:转码 # -*- coding:utf-8 -*- from urllib import re ...

  4. C#高级编程之泛型一(泛型的引入、泛型的使用、何为泛型)

    为何引入泛型 当我们要对不同类型的参数执行类似的方法时:如下所示功能打印传入参数的相关信息. class CommonMethdod { /// <summary> /// show in ...

  5. shell脚本快速入门----正则表达式

    一. "." 符号 (一个英文句号) 用于匹配换行符之外的任意一个字符 如 root 可用r..t来匹配 二. "*"符号 重复匹配前一个字符 如ab abc ...

  6. 微信公众号平台Url Token EncodingAESKey 注意点

    最近公司让我开发微信公众号平台扫码登录,同步用户信息于PC端,所做的过程当中遇到了一些坑,做完了就总结一下需要注意的点,如若大家开发过程中遇到同样的问题,可以借鉴! 第一:配置域名 作用:配置域名为了 ...

  7. 深度分析:Java多线程,线程安全,并发包

    1:synchronized(保证原子性和可见性) 1.同步锁.多线程同时访问时,同一时刻只能有一个线程能够访问使synchronized修饰的代码块或方法.它修饰的对象有以下几种: 修饰一个代码块, ...

  8. Guitar Pro的10个非常实用的技巧(上)

    Guitar Pro 7具有许多功能和编辑选项,只需点击几下即可随时创建与编辑我们的乐谱,.以下就为大家介绍10个Guitar Pro中实用的技巧,可以大大的节省我们的时间. 在开始之前,重要的是要知 ...

  9. 如何用ABBYY FineReader提取图片中的文字

    作为OCR文字识别软件中的佼佼者,可能大家对于ABBYY FineReader的使用还不熟练,没关系,今天小编就为大家演示,如何用ABBYY FineReader这款文字识别软件,将一张截图中的文字识 ...

  10. Yali 19 - 8 - 6 test T2 猪国(pig) 题解

    T2 猪国 题⽬描述 猪国是⼀个由 \(n\) 个城市组成的国家. 国王意识到了"要致富,先修路"这句话的重要性,它决定⼤规模修路.不巧的是,猪国的 猪们不太会⼯程,于是只能请隔壁 ...