lodash
具有pick函数,该函数的用法如下:
var object = { 'a': 1, 'b': '2', 'c': 3 };
_.pick(object, ['a', 'c']);
// => { 'a': 1, 'c': 3 }
我想用 typescript 写一个类型安全的版本。
此函数的用法应为
pick(object, o => o.a, o.b)
这样做的目的是避免两次指定相同的键,同时保持类型安全。
这有可能实现吗?
lodash
具有pick函数,该函数的用法如下:
var object = { 'a': 1, 'b': '2', 'c': 3 };
_.pick(object, ['a', 'c']);
// => { 'a': 1, 'c': 3 }
我想用 typescript 写一个类型安全的版本。
此函数的用法应为
pick(object, o => o.a, o.b)
这样做的目的是避免两次指定相同的键,同时保持类型安全。
这有可能实现吗?
6条答案
按热度按时间svdrlsy41#
听起来你可能在找Pick type。像这样的东西对你有用吗?
ercv8c1e2#
使用
Object.fromEntries
(es2019):ego6inou3#
下面是我使用
Object.assign()
nwsw7zdq4#
lodash类型定义使用
Pick
来传播 prop ,所以不需要手工定义,只需要使用npm i --save-dev @types/lodash
或者yarn add -D @types/lodash
安装即可。q9yhzks05#
在这里我的,延伸@巴渝卡尼亚回答:
4xrmg8kj6#
根据Ethan.Roday的回答,我做了一些修改。使用
Array.reduce
并去掉any
类型。