【发布时间】:2020-07-14 23:44:41
【问题描述】:
我是 Typescript 的新手,我需要遍历 Record 类型对值进行一些更新并返回 Record。
这是定义类型的方式:
type Parent = Readonly<Record<string, Children>>;
type Children = ReadonlyArray<string>;
这里是一些我想迭代的示例数据:
const data = {
parent1: ["child1", "child2"],
parent2: ["child1","child2"]
};
更新记录值的方法:
const updateChildren = (child: Children) : Children => {
return child.map( value => value + 'updated');
}
我正在努力为其编写语法,试图寻找示例但找不到任何有用的东西。
我可以使用 Object.entries 遍历记录
Object.entries(data).forEach(([key, value]) => console.log(key, value));
我也试过用Object.keys
Object.keys(data)
.map(key => updateChildren(data[key]))
我想我很接近但不知道如何返回地图,因为这里返回 Array [Array]
是否有一些很好的方法来迭代更新,它会以使用的相同类型返回更新后的数据。
感谢阅读。
这是我正在尝试做的 javascript sn-p 并在下面的示例中获取 updatedMap。
const data = {
parent1: ["child1", "child2"],
parent2: ["child1","child2"]
};
function updateChildren(children) {
return children.map(child => child+'updated');
}
const updatedMap = new Map();
for (const [key, value] of Object.entries(data)) {
updatedMap.set(key, updateChildren(value));
}
updatedMap.forEach((value, key) => console.log(key + ":" + value));
console.log(Object.keys(data).map(key => updateChildren(data[key])));
【问题讨论】:
标签: javascript typescript ecmascript-6 typescript2.0