如何在TypeScript中向数组添加额外属性
- 论坛
- 如何在TypeScript中向数组添加额外属性
24 浏览
如何在TypeScript中向数组添加额外属性
我想给一个数组添加一个额外的属性,但是在声明时遇到了问题。
小部分
const arr: string[] & {key: number} = ['123'];//ts错误 属性'key'缺失 arr.key = 10;
大部分
我需要按索引对数组进行分组,然后按值进行排序。
如果使用Object.values而不是Object.entries,给数组属性添加一个索引将会很方便。
我知道有很多方法可以做到这一点,但是我认为使用纯js会更容易。
type Arr = {index: number, value: number}; const arr:Arr[] = [] arr.push({ index: 10, value: 2 }) arr.push({ index: 10, value: 1 }) arr.push({ index: 10, value: 3 }); arr.push({ index: 20, value: 100 }); arr.push({ index: 20, value: 50 }); arr.reduce>((prev, curr) => { if(!prev[curr.index]){ prev[curr.index] = [];//ts错误 属性缺失 prev[curr.index].index = curr.index; } prev[curr.index].push(curr); prev[curr.index].sort((a,b) => a.value - b.value);//或者一些插入排序算法。 return prev; },{})