Javascript Typescript根据字典和键列表构造子字典

Javascript Typescript根据字典和键列表构造子字典,javascript,arrays,typescript,dictionary,Javascript,Arrays,Typescript,Dictionary,我正在尝试从字典和键列表创建子字典 类型MyDictElementType={ x:号码 } 类型MyDictType={ [键:字符串]:MyDictElementType } 常量myKeys:string[]=['a'] 常量myDict:MyDictType={a':{x:0},'b':{x:1} const createSubDictionary=(fullDictionary:MyDictType,searchKeys:string[])=>{ const newDict:MyDic

我正在尝试从字典和键列表创建子字典

类型MyDictElementType={
x:号码
}
类型MyDictType={
[键:字符串]:MyDictElementType
}
常量myKeys:string[]=['a']
常量myDict:MyDictType={a':{x:0},'b':{x:1}
const createSubDictionary=(fullDictionary:MyDictType,searchKeys:string[])=>{
const newDict:MyDictType={}
searchKey.map((searchKey)=>{
newDict[searchKey]=fullDictionary[searchKey]
})
返回newDict
}

没有
newDict
局部变量,有没有一种纯粹的函数式方法来实现这一点?

类似的东西?它对原始对象进行变异,使其不纯粹是functional@Christian谢谢你的回答。事实上,这不是我想要的,它改变了原始对象。你的目标是什么?您可以使用
reduce()
而不是
map()
重写函数(由于忽略返回,该函数可能应该是
forEach()
)。。。这将避免命名的局部变量。但我不确定你需要多“纯洁”。我猜你可以写,这取决于突变是被严格禁止的还是被允许的,只要它们隐藏在一个抽象屏障后面。
reduce()
就是这样做的。。。谢谢