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

ES6中如何简洁地提取对象的特定属性?

DDD
DDD原创
2024-12-15 09:48:12189浏览

How to Concisely Extract Specific Properties from an Object in ES6?

在 ES6 中从对象中提取属性的单行

问题:

如何编写一个函数以最简洁的方式从对象中选择特定属性ES6?

初始解决方案:

以下方法使用解构和简化的对象文字来实现此目的:

(v) => {
    let { id, title } = v;
    return { id, title };
}

改进解决方案:

更精简的解决方案,这也消除了属性名称的重复,可以通过参数解构来实现:

({id, title}) => ({id, title})

此解决方案提供了更简洁的替代方案,同时保留所需的功能。

替代方法:

  • Object.assign: 这种方法可以用来保存原始属性的属性,同时还过滤掉不可枚举的属性:
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中如何简洁地提取对象的特定属性?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn