所以我有兩種型別 B 和 A,以及一個陣列 a,我應該將其轉換為型別 B。
type A = Array<[string, number, string]>;
type B = {
[name: string]:
{
name: string,
age: number,
city: string
}
}
const a: A = [
['name1', 10, 'city1'],
['name2', 33, 'city2'],
['name3', 61, 'city3'],
['name4', 60, 'city4']
];
export const b: B = ???
我不明白如何由于[name: string]型別 B 中的索引簽名而轉換陣列。通常我通過 轉換array.map(value => {}),但在這里我找不到在 map 方法中包含索引簽名的方法。
uj5u.com熱心網友回復:
B 描述一個物體的形狀:
export const b: B = {
name1: {
name: 'name1',
age: 10,
city: 'city1'
}
};
但如果你想要一個Bs陣列,你可以
export const b: B[] = a.map(([name, age, city]) => ({ [name]: { name, age, city } }));
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/335754.html
標籤:javascript 数组 打字稿 ecmascript-6
上一篇:向后回圈Javascript陣列
下一篇:使用陣列和回圈更新MySQL表
