【发布时间】:2021-06-09 10:13:22
【问题描述】:
对我来说,按键的值对数组对象进行排序的最佳实践是什么?键是对象的可选类型?如果 num 不是可选类型,我有以下代码可以工作但是,我收到Object is possibly 'undefined'.
type Filter = {
a: number;
num?: number
}
const filter: Filter[] = [{a: 1, num: 10}, {a: 1, num: 12}, {a: 1, num: 5}]
filter.sort((a,b)=> (a.num > b.num ? 1 : -1))
console.log(filter)
【问题讨论】:
-
请考虑修改此问题中的代码以构成minimal reproducible example,将其放入像The TypeScript Playground (link to code) 这样的独立IDE 中时,可以清楚地说明您面临的问题。这将使那些想要帮助您的人立即着手解决问题,而无需首先重新创建它。它将使您得到的任何答案都可以针对定义明确的用例进行测试。
-
[ {a:1}, {a:2}, {a:3, num: 10}]的预期行为是什么 -
你的意思是
const filter: Filter[]而不是const filter: Filter吗? -
` {a:1}, {a:2}, {a:3, num: 10}]` 我希望是 ` {a:1}, {a:2}, { a:3,数量:10}]`
-
考虑在问题中多解释一点,例如“未定义
num的元素应放在具有已定义值的元素之前。”
标签: javascript typescript