js中filter过滤对象属性

JavaScript 中的 filter 方法可以对数组进行过滤操作。它会返回一个新的数组,该数组中的元素都符合给定的测试函数的条件。

如果要使用 filter 方法来过滤对象的属性,可以先使用 Object.entries 方法将对象转换为数组。然后对数组进行 filter 操作,最后使用 Object.fromEntries 方法将结果转换回对象。

举个例子,假设有一个对象 obj,它有三个属性 name、age、gender,现在要过滤掉 age 属性,可以这样写:

const obj = {name: "John", age: 30, gender: "male"};
const filteredObj = Object.fromEntries(
  Object.entries(obj).filter(([key, value]) => key !== "age")
console.log(filteredObj);  // { name: 'John', gender: 'male' }

这样就能得到一个新的对象,它中不包含 age 属性。

如果要过滤多个属性,可以在 filter 函数中添加更多的判断条件,例如:

const filteredObj = Object.fromEntries(
  Object.entries(obj).filter(([key, value]) => key !== "age" && key !== "gender")
console.log(filteredObj);  // { name: 'John' }

这样就能得到一个不包含 age 和 gender 属性的新对象。

  •