demo.html 8.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. <!DOCTYPE html>
  2. <html lang="en">
  3. <head>
  4. <meta charset="UTF-8">
  5. <meta name="viewport" content="width=device-width, initial-scale=1.0">
  6. <title>Demo</title>
  7. </head>
  8. <body>
  9. <script>
  10. const sku = [
  11. {
  12. "skuId": 314,
  13. "price": 1.01,
  14. "oriPrice": 0.0,
  15. "stocks": 81,
  16. "skuName": "换修无忧版 深空灰色 64GB ",
  17. "pic": "http://shop-static.edu.koobietech.com/2019/04/2cd9ec641d92458983c00d87ff33ad57.jpg",
  18. "properties": "版本:换修无忧版;颜色:深空灰色;内存:64GB"
  19. },
  20. {
  21. "skuId": 315,
  22. "price": 1.02,
  23. "oriPrice": 0.0,
  24. "stocks": 0,
  25. "skuName": "原厂延保版 深空灰色 64GB ",
  26. "pic": "http://shop-static.edu.koobietech.com/2019/04/bf4c40f7e6e5454e806c244ca49d3964.jpg",
  27. "properties": "版本:原厂延保版;颜色:深空灰色;内存:64GB"
  28. },
  29. {
  30. "skuId": 316,
  31. "price": 7102.0,
  32. "oriPrice": 0.0,
  33. "stocks": 1,
  34. "skuName": "公开版 银色 64GB ",
  35. "pic": null,
  36. "properties": "版本:公开版;颜色:银色;内存:64GB"
  37. },
  38. {
  39. "skuId": 317,
  40. "price": 7103.0,
  41. "oriPrice": 0.0,
  42. "stocks": 1,
  43. "skuName": "换修无忧版 银色 64GB ",
  44. "pic": null,
  45. "properties": "版本:换修无忧版;颜色:银色;内存:64GB"
  46. },
  47. {
  48. "skuId": 318,
  49. "price": 7104.0,
  50. "oriPrice": 0.0,
  51. "stocks": 1,
  52. "skuName": "原厂延保版 银色 64GB ",
  53. "pic": null,
  54. "properties": "版本:原厂延保版;颜色:银色;内存:64GB"
  55. },
  56. {
  57. "skuId": 319,
  58. "price": 7600.0,
  59. "oriPrice": 0.0,
  60. "stocks": 1,
  61. "skuName": "公开版 金色 256GB ",
  62. "pic": "http://shop-static.edu.koobietech.com/2019/04/1cfc26bed5084caaa439ed4e49b41885.jpg",
  63. "properties": "版本:公开版;颜色:金色;内存:256GB"
  64. },
  65. {
  66. "skuId": 320,
  67. "price": 7601.0,
  68. "oriPrice": 0.0,
  69. "stocks": 0,
  70. "skuName": "换修无忧版 金色 256GB ",
  71. "pic": "http://shop-static.edu.koobietech.com/2019/04/a25a877f99684e1882eef5a5bb9081c4.jpg",
  72. "properties": "版本:换修无忧版;颜色:金色;内存:256GB"
  73. },
  74. {
  75. "skuId": 321,
  76. "price": 7602.0,
  77. "oriPrice": 0.0,
  78. "stocks": 0,
  79. "skuName": "原厂延保版 金色 256GB ",
  80. "pic": "http://shop-static.edu.koobietech.com/2019/04/b119c50832d44622a07c7ed0ff10f647.jpg",
  81. "properties": "版本:原厂延保版;颜色:金色;内存:256GB"
  82. },
  83. {
  84. "skuId": 322,
  85. "price": 7603.0,
  86. "oriPrice": 0.0,
  87. "stocks": 0,
  88. "skuName": "公开版 深空灰色 256GB ",
  89. "pic": "http://shop-static.edu.koobietech.com/2019/04/98b8c67212994d9bb62ac35aedd1cc08.jpg",
  90. "properties": "版本:公开版;颜色:深空灰色;内存:256GB"
  91. },
  92. {
  93. "skuId": 323,
  94. "price": 7604.0,
  95. "oriPrice": 0.0,
  96. "stocks": 0,
  97. "skuName": "换修无忧版 深空灰色 256GB ",
  98. "pic": "http://shop-static.edu.koobietech.com/2019/04/e5cdcd2c310d4cf2b702523db1993dbd.jpg",
  99. "properties": "版本:换修无忧版;颜色:深空灰色;内存:256GB"
  100. },
  101. {
  102. "skuId": 324,
  103. "price": 7605.0,
  104. "oriPrice": 0.0,
  105. "stocks": 0,
  106. "skuName": "原厂延保版 深空灰色 256GB ",
  107. "pic": "http://shop-static.edu.koobietech.com/2019/04/9edd1e5a57d345678dd52308496457bb.jpg",
  108. "properties": "版本:原厂延保版;颜色:深空灰色;内存:256GB"
  109. },
  110. {
  111. "skuId": 325,
  112. "price": 7606.0,
  113. "oriPrice": 0.0,
  114. "stocks": 0,
  115. "skuName": "公开版 银色 256GB ",
  116. "pic": null,
  117. "properties": "版本:公开版;颜色:银色;内存:256GB"
  118. },
  119. {
  120. "skuId": 326,
  121. "price": 7607.0,
  122. "oriPrice": 0.0,
  123. "stocks": 0,
  124. "skuName": "换修无忧版 银色 256GB ",
  125. "pic": null,
  126. "properties": "版本:换修无忧版;颜色:银色;内存:256GB"
  127. },
  128. {
  129. "skuId": 327,
  130. "price": 7608.0,
  131. "oriPrice": 0.0,
  132. "stocks": 0,
  133. "skuName": "原厂延保版 银色 256GB ",
  134. "pic": null,
  135. "properties": "版本:原厂延保版;颜色:银色;内存:256GB"
  136. },
  137. {
  138. "skuId": 328,
  139. "price": 8000.0,
  140. "oriPrice": 0.0,
  141. "stocks": 0,
  142. "skuName": "公开版 金色 512GB ",
  143. "pic": "http://shop-static.edu.koobietech.com/2019/04/20824781b8f24771b12cf273450aaaae.jpg",
  144. "properties": "版本:公开版;颜色:金色;内存:512GB"
  145. },
  146. {
  147. "skuId": 329,
  148. "price": 8001.0,
  149. "oriPrice": 0.0,
  150. "stocks": 0,
  151. "skuName": "换修无忧版 金色 512GB ",
  152. "pic": "http://shop-static.edu.koobietech.com/2019/04/2c60b3e379e84d6bacfd7f04edc1a653.jpg",
  153. "properties": "版本:换修无忧版;颜色:金色;内存:512GB"
  154. },
  155. {
  156. "skuId": 330,
  157. "price": 8002.0,
  158. "oriPrice": 0.0,
  159. "stocks": 0,
  160. "skuName": "原厂延保版 金色 512GB ",
  161. "pic": "http://shop-static.edu.koobietech.com/2019/04/2e5239d4fd6e49e29c9f8e75edad7318.jpg",
  162. "properties": "版本:原厂延保版;颜色:金色;内存:512GB"
  163. },
  164. {
  165. "skuId": 331,
  166. "price": 8003.0,
  167. "oriPrice": 0.0,
  168. "stocks": 0,
  169. "skuName": "公开版 深空灰色 512GB ",
  170. "pic": "http://shop-static.edu.koobietech.com/2019/04/525b9161f2424645bab7ca1b73e918d2.jpg",
  171. "properties": "版本:公开版;颜色:深空灰色;内存:512GB"
  172. },
  173. {
  174. "skuId": 332,
  175. "price": 8004.0,
  176. "oriPrice": 0.0,
  177. "stocks": 0,
  178. "skuName": "换修无忧版 深空灰色 512GB ",
  179. "pic": "http://shop-static.edu.koobietech.com/2019/04/a5dd840eadaa41afadfd7d16ed05b139.jpg",
  180. "properties": "版本:换修无忧版;颜色:深空灰色;内存:512GB"
  181. },
  182. {
  183. "skuId": 333,
  184. "price": 8006.0,
  185. "oriPrice": 0.0,
  186. "stocks": 0,
  187. "skuName": "原厂延保版 深空灰色 512GB ",
  188. "pic": "http://shop-static.edu.koobietech.com/2019/04/ae2c5c3b77e0437c93114cae3bfb20e0.jpg",
  189. "properties": "版本:原厂延保版;颜色:深空灰色;内存:512GB"
  190. },
  191. {
  192. "skuId": 335,
  193. "price": 8005.0,
  194. "oriPrice": 0.0,
  195. "stocks": 0,
  196. "skuName": "换修无忧版 银色 512GB ",
  197. "pic": null,
  198. "properties": "版本:换修无忧版;颜色:银色;内存:512GB"
  199. }
  200. ]
  201. const properties = []
  202. const propObject = {}
  203. for ( let i = 0; i < sku.length; i++ ) {
  204. properties.push( sku[i].properties )
  205. }
  206. for (let i = 0; i < properties.length; i++) {
  207. const propStr = properties[i]
  208. const propArr = propStr.split(";")
  209. for (let n = 0; n < propArr.length; n++) {
  210. const valueStr = propArr[n];
  211. const valueArr = valueStr.split(":")
  212. if ( !propObject[valueArr[0]] ) {
  213. propObject[valueArr[0]] = new Set()
  214. }
  215. propObject[valueArr[0]].add(valueArr[1])
  216. }
  217. }
  218. console.log(
  219. propObject
  220. )
  221. </script>
  222. </body>
  223. </html>