【发布时间】:2016-12-20 17:32:19
【问题描述】:
基本上我需要的是从 json 中获取“项目”并重新分配它,而其他键保持不变: 第一种方法复制数据。 第二个在性能方面似乎很糟糕。 第三个很难阅读和理解。 我使用 lodash。但如果不能以巧妙的方式完成,您可以向我推荐一个不同的库。
function a(name, json) {
return {
type: RECEIVE_DATA,
name,
items: _.get(json, 'data.items', []),
receivedAt: Date.now(),
...json,
};
}
function b(name, json) {
return {
..._.omit(json, 'data'),
type: RECEIVE_DATA,
name,
items: _.get(json, 'data.items', []),
receivedAt: Date.now(),
}
}
function c(name, json) {
return {
..._.transform(json, (result, value, key) =>{
if (key === 'data') {
result['items'] = value['items'];
} else {
result[key] = value;
}
}, {}),
type: RECEIVE_DATA,
name,
receivedAt: Date.now(),
}
}
【问题讨论】:
标签: javascript ecmascript-6 lodash