javascript 数组过滤问题求解!

数组过滤求解,在不确定name,和date的情况下, 找到 name 相同,date相同的对象, 把其 commodity 的内容拼结,返回一个对象

<!DOCTYPE html>
<html lang="en">
<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>Document</title>
</head>
<body>
  <script>
    var arr =[
    {name:'张三',commodity:'电视',date:'2020-10-1'},
    {name:'张三',commodity:'洗衣机',date:'2020-10-1'},
    {name:'张三',commodity:'手机',date:'2020-10-1'},
    {name:'李四',commodity:'手机',date:'2020-10-1'},
    {name:'张三',commodity:'电脑',date:'2020-10-5'},
    {name:'王五',commodity:'电脑',date:'2020-10-5'},
    {name:'李四',commodity:'手机',date:'2020-10-8'},
    {name:'王五',commodity:'音响',date:'2020-10-8'},
    {name:'王五',commodity:'手机',date:'2020-10-8'},
    ]
//在不确定name,和date的情况下,   找到 name 相同,date相同的对象, 把其 commodity 的内容拼结,返回一个对象
  //返回结果示例:
  arr=[
  {name:'张三',commodity:'电视,洗衣机,手机',date:'2020-10-1',number:3},
  {name:'李四',commodity:'手机',date:'2020-10-1',number:1},
  {name:'张三',commodity:'电脑',date:'2020-10-5',number:1},
  {name:'王五',commodity:'电脑',date:'2020-10-5',number:1},
  {name:'李四',commodity:'手机',date:'2020-10-8',number:1},
  {name:'王五',commodity:'音响,手机',date:'2020-10-8',number:2}
  ]
  console.log(arr)
  </script>
</body>
</html>

哈喽,代码如下,有用请点采纳

let arr = [
    {name:'张三',commodity:'电视',date:'2020-10-1'},
    {name:'张三',commodity:'洗衣机',date:'2020-10-1'},
    {name:'张三',commodity:'手机',date:'2020-10-1'},
    {name:'李四',commodity:'手机',date:'2020-10-1'},
    {name:'张三',commodity:'电脑',date:'2020-10-5'},
    {name:'王五',commodity:'电脑',date:'2020-10-5'},
    {name:'李四',commodity:'手机',date:'2020-10-8'},
    {name:'王五',commodity:'音响',date:'2020-10-8'},
    {name:'王五',commodity:'手机',date:'2020-10-8'}
]
let res = []
for(let x=0;x<arr.length;x++){
  let obj = JSON.parse(JSON.stringify(arr[x]))
  obj.number = 1
  if(arr[x].hasSame){
    continue;
  }
  for(let y=x+1;y<arr.length;y++){
    if(arr[x].name === arr[y].name && arr[x].date === arr[y].date){
      obj.number++;
      obj.commodity += `,${arr[y].commodity}`
      arr[y].hasSame = true
    }
  }
  res.push(obj)
}
console.log(res);