【问题标题】:JavaScript clean array objectJavaScript 清除数组对象
【发布时间】:2021-04-17 11:14:31
【问题描述】:

您好,我有一个包含对象数组的对象数组。例如,如果我的用户搜索皮革,我想知道如何将属性清空。

我的结果:

     let cars = [{
        name: 'Volvo',
        equipments: [
         { name: 'saddleries', options: [{title: 'leather'}] },
         { name: 'wheels', options: [title: 'sliver'}] },
         { name: 'motor', options: [] }]
}];

我想要这个结果:

          let cars = [{
        name: 'Volvo',
        equipments: [
         { name: 'saddleries', options: [{title: 'leather'}] },
         { name: 'wheels', options: [title: 'sliver'}] },
}];

请问如何删除我的数据?谢谢

【问题讨论】:

标签: javascript arrays json typescript


【解决方案1】:

检查此代码

let cars = [{
        name: 'Volvo',
        equipments: [
         { name: 'saddleries', options: [{title: 'leather'}] },
         { name: 'wheels', options: [{title: 'sliver'}] },
         { name: 'motor', options: [] }]
}];

cars.forEach((c) => {
c.equipments = c.equipments.filter(e => e.options.length !== 0);
})
console.log(cars)

【讨论】:

    【解决方案2】:

    试试这个:

    var cars = {
      name: 'Volvo',
      equipments: [{
          name: 'saddleries',
          options: [{
            title: 'leather'
          }]
        },
        {
          name: 'wheels',
          options: [{
            title: 'sliver'
          }]
        },
        {
          name: 'motor',
          options: []
        },
        {
          name: 'handles',
          options: []
        }
      ]
    };
    
    carsCopy = Object.assign([], cars.equipments)
    
    var count = 0
    
    cars.equipments.forEach(function(data, index) {
      if (data.options.length === 0) {
        carsCopy.splice(index - count, 1);
        count++;
      }
    })
    console.log(carsCopy)

    【讨论】:

    • 在没有选项的情况下尝试两个或更多元素(按顺序)。
    • 修复了问题!
    猜你喜欢
    • 2012-09-28
    • 1970-01-01
    • 2017-12-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多