[英]TypeScript error : Type '…' is not assignable to type 'IntrinsicAttributes & Number'
[英]typescript error - 'boolean' is not assignable to type 'number'
有誰能夠幫我。
我正在嘗試對數組中的字符串進行排序
var someArray= ["3a445a_V1", "3", "2a33s454_V1", "1", "3_V2", "2s4a34s3_V2", "234343"];
const [record] = someArray.map(r => parseFloat(r.replace('_V','.'))).sort((a,b) => a < b);
console.log(record)
//it returns 3a445a.1
在瀏覽器 console.log 中它工作正常,而不是在 typescript 中?
typescript 它給出以下錯誤錯誤:
error TS2345: Argument of type '(a: number, b: number) => boolean' is not
assignable to parameter of type '(a: number, b: number) => number'.
Type 'boolean' is not assignable to type 'number'.
任何的想法? 提前致謝
.sort((a,b) => a < b)
不正確。 TypeScript 消息是正確的: sort
回調應該返回一個數字,而不是一個布爾值。
相反: .sort((a,b) => a - b)
( -
而不是<
)。 或b - a
以另一種方式排序。 這是因為如果a
出現在b
之前, sort
回調應該返回一個負數,如果它們的順序無關緊要,則返回0
,如果b
出現在a
之前,則返回一個正數。 由於您似乎想要升序,因此a - b
以便如果a
小於b
,則返回負數等。 b - a
進行降序排序。
你也可以使用.sort((a,b) => Number(a>b))
。 這對我有用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.