javascript - 有没有更好的写法?
问题描述
有没有更好的写法?我认为它是如此过剩。
let {
recruitmentType,
positionName,
positionType,
labels,
workAddressId,
positionBrightPoint,
positionDesc,
department,
jobNature,
workYear,
education,
salary,
isSchoolPosition
} = this.data;
windows.setStorage('saveReleaseJob', {
recruitmentType,
positionName,
positionType,
labels,
workAddressId,
positionBrightPoint,
positionDesc,
department,
jobNature,
workYear,
education,
salary,
isSchoolPosition
})
解决方案
您可以使用一个函数来获取所需属性的子集。
const getOnly = (object, keys) => Object.assign({}, ...keys.map(k => ({ [k]: object[k] })));
var object = { a: 1, b: 2, c: 3, d: 4 },
keys = ['a', 'b'],
subset = getOnly(object, keys);
console.log(subset);
随着即将到来Object.fromEntries
const getOnly = (object, keys) => Object.fromEntries(keys.map(k => [k, object[k]]));
var object = { a: 1, b: 2, c: 3, d: 4 },
keys = ['a', 'b'],
subset = getOnly(object, keys);
console.log(subset);
推荐阅读
- python - 使用 PyDrive 指定文件下载位置?
- angularjs - 使用角度从本地存储中获取特定项目
- ios - 如何更改通话权限弹出Swift的电话号码格式
- django - 用子查询集的最大值注释查询集
- python - 可能嵌套了 For 循环
- java - Android Retrofit Call 传递 response.body() 作为参数进行处理
- autohotkey - Lbutton 事件似乎禁用了我的拖动
- javascript - Realm-JS:在排序结果列表中查找元素索引的高效方法
- discord - Discord.py 自帐户创建自动角色以来的天数
- python - 如何使用 Zeep 将项目列表发送到 SOAP