美文网首页js前端大杂烩
如何在 JavaScript 中选择或忽略对象的属性

如何在 JavaScript 中选择或忽略对象的属性

作者: lio_zero | 来源:发表于2021-05-14 21:12 被阅读0次

    在没有内置解决方案的情况下,从 JavaScript 对象中选择或忽略属性是一个相当常见的问题。

    下面我们来看看,实现两个方法 choiceignore 来选择或忽略对象的属性。

    从对象中选择属性

    如果要从 JavaScript 对象中选择任意数量的属性,实现如下:

    const choice = (obj, ...props) => {
      return props.reduce((result, prop) => {
        result[prop] = obj[prop]
        return result
      }, {})
    }
    

    choice 函数的第一个参数将是我们要从中选择的对象,随后的参数将是我们要保留的键的名称。

    const user = {
      name: 'IU',
      age: 18,
      gender: '女'
    }
    
    console.log(choice(user, 'name', 'age')) // { name: "IU", age: "18" }
    

    可以看到,通过提供 user 对象作为第一个参数,然后提供字符串 nameage 作为后续参数,我们可以保留对象中的nameage 属性,而忽略 gender 属性。

    忽略对象的属性

    如果要从 JavaScript 对象中省略任意数量的属性,实现如下:

    const ignore = (obj, ...props) => {
      const result = { ...obj }
      props.forEach(prop => delete result[prop])
      return result
    }
    

    同样,让我们使用相同的 user 对象来查看实际效果。

    const user = {
      name: 'IU',
      age: 18,
      gender: '女'
    }
    
    console.log(ignore(user, 'age')) // { name: "IU",  gender: "女" }
    

    可以看到,通过提供 user 对象作为第一个参数,字符串 age 作为第二个参数,我们能够获得一个省略了 age 省略属性的新对象。

    相关文章

      网友评论

        本文标题:如何在 JavaScript 中选择或忽略对象的属性

        本文链接:https://www.haomeiwen.com/subject/ryrcjltx.html