有没有更短的方法来过滤DataObject?

时间:2020-06-26 11:47:43

标签: javascript typescript babeljs

我用两行过滤myData 对象,但是有没有更短的方法呢?

我想要一个新对象。标识为 26 名称必须从名称数组中删除。

可以使用ES2018功能。

有什么方法可以缩短修改过程吗?

const myData = {
  names: [{
      id: "1",
      name: "Streptocjhgjsis "
    },
    {
      id: "26",
      name: "aksdfja"
    },
    {
      id: "22",
      name: "kasjdfakj iakd"
    }
  ]
};
let filteredData = myData.names.filter((item) => item.id !== "26");
let newDataObject = {
  names: filteredData
};
console.log(newDataObject);

有没有办法使它更短?

1 个答案:

答案 0 :(得分:1)

不要首先将结果获取到另一个对象,而直接将其设置为所需的对象,例如names: myData.names.filter((item) => item.id !== "26")

在下面进行测试。

const myData = {
  names: [{
      id: "1",
      name: "Streptocjhgjsis "
    },
    {
      id: "26",
      name: "aksdfja"
    },
    {
      id: "22",
      name: "kasjdfakj iakd"
    }
  ]
};

let newDataObject = {
  names: myData.names.filter((item) => item.id !== "26")
};
console.log(newDataObject);