Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/446.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何对字符串类型数组排序_Javascript_Arrays_Typescript_Sorting - Fatal编程技术网

Javascript 如何对字符串类型数组排序

Javascript 如何对字符串类型数组排序,javascript,arrays,typescript,sorting,Javascript,Arrays,Typescript,Sorting,我想根据Typescript中特定的string类型值对数组对象进行排序。下面的代码我已经尝试过了,但没有工作 this.deviceapp = data.Devices[0].Products.sort((product)=>product.Status="Non-Compliant") 我需要顶部的“不合规”记录,如何才能做到这一点?通过执行product.Status=“不合规”您只是将值“不合规”分配给product.Status .sort函数期望返回值为-1、0或-1。试试这

我想根据
Typescript
中特定的
string
类型值对数组对象进行排序。下面的代码我已经尝试过了,但没有工作

this.deviceapp = data.Devices[0].Products.sort((product)=>product.Status="Non-Compliant")

我需要顶部的“不合规”记录,如何才能做到这一点?

通过执行
product.Status=“不合规”
您只是将值“不合规”分配给
product.Status

.sort
函数期望返回值为-1、0或-1。试试这个:

let产品=[
{状态:“符合”},
{状态:“不合规”},
{状态:“符合”},
{状态:“符合”},
{状态:“不合规”},
{状态:“符合”},
]
products.sort(product=>product.Status==“不符合”?-1:1)

console.log(products)
你的意思是
=
而不是
product.Status=“不合规”
@Mamun-为什么投票关闭?@Mamun查看底部的注释:(可由帖子作者和具有关闭/重新打开投票权限的用户查看)@ArvindChourasiya,它能保证所有亲密的选民都是失败的选民吗?@Mamun-一点也不。我不是在责怪你:)有人投了反对票,因为他/她认为这个问题与打字错误有关,然而,这个问题离打字错误很远。dv,不是我,但对于相同的
状态
值,返回值应该为零。如果没有,排序需要更长的时间。@NinaScholz-为此,我需要设置状态字段bool吗?不,只是一个不同的cb,如
(a,b)=>(b.Status=='Non Compliant')-(a.Status=='Non Compliant')
。添加一个数字转换<代码>(a,b)=>编号(b.状态==‘不符合’)-编号(a.状态==‘不符合’)