Javascript 编辑数组的步骤

Javascript 编辑数组的步骤,javascript,arrays,Javascript,Arrays,我需要编辑一个数组,但我不知道如何开始 数组是 var products = [ "rose-S", "rose-M", "rose-L", "rose-XL", "rose-XL", "blue-XS", "blue-L", "green-M" ] 而且结构需要改进 { "

我需要编辑一个数组,但我不知道如何开始

数组是

var products =
[
  "rose-S", 
  "rose-M", 
  "rose-L", 
  "rose-XL", 
  "rose-XL", 
  "blue-XS", 
  "blue-L", 
  "green-M"
]
而且结构需要改进

{ 
  "rose": { 
    "S": 1, 
    "M": 1, 
    "L": 1, 
    "XL": 2 
  }, 
  "blue": { 
    "XS": 1, 
    "L": 1 
  }, 
  "green": { 
    "M": 1 
  }, 
}

我能做什么?

缩小数组,创建一个对象。拆分项目,并获取
颜色和
大小。如果对象不存在,则创建
颜色
对象。创建
大小的子对象(如果不存在),并为当前颜色和大小组合添加1:

const products=[“玫瑰S”、“玫瑰M”、“玫瑰L”、“玫瑰XL”、“玫瑰XL”、“蓝色XS”、“蓝色L”、“绿色M”]
const result=产品减少量((附件,项目)=>{
const[color,size]=item.split('-')//拆分并解构以获取颜色和大小
如果(!acc[color])acc[color]={}//init color如果它不存在
如果(!acc[color][size])acc[color][size]=0//如果不存在,则初始化大小
acc[颜色][大小]+=1//将1添加到当前颜色/大小
返回acc
}, {})
console.log(result)
并且应该足够创建这个。