首页 > web前端 > js教程 > ES6中如何高效提取对象的特定属性?

ES6中如何高效提取对象的特定属性?

Barbara Streisand
发布: 2024-12-24 17:32:14
原创
182 人浏览过

How Can I Efficiently Extract Specific Properties from an Object in ES6?

从 ES6 中的对象获取属性的单行

许多开发人员都在寻找一种简洁的方法来从 ES6 中的对象中提取特定属性。一种常见的解决方案采用解构和简化的对象文字,尽管重复代码中的字段列表可能很麻烦。

改进的解决方案

一种更简化的方法涉及“参数解构,”这消除了显式的需要参数:

({id, title}) => ({id, title})
登录后复制

通用解决方案

为了获得更大的灵活性,请考虑“pick”函数,它接受一个对象和任意数量的属性作为参数:

function pick(o, ...props) {
    return Object.assign({}, ...props.map(prop => ({[prop]: o[prop]})))
}
登录后复制

保护财产属性

保留可配置性和 getter/setter 等属性,同时排除不可枚举属性:

function pick(o, ...props) {
    var has = p => o.propertyIsEnumerable(p),
        get = p => Object.getOwnPropertyDescriptor(o, p);

    return Object.defineProperties({},
        Object.assign({}, ...props
            .filter(prop => has(prop))
            .map(prop => ({prop: get(props)})))
    );
}
登录后复制

这些解决方案提供了一种从对象中提取特定属性的简洁而通用的方法在 ES6 中,满足各种用例。

以上是ES6中如何高效提取对象的特定属性?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板