Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/388.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_Typescript - Fatal编程技术网

Javascript 二维数组排序不工作

Javascript 二维数组排序不工作,javascript,typescript,Javascript,Typescript,我有这个数组,我想对它进行排序ticketidwise,这是一个数字。下面是我正在尝试的代码 console.log(this.tableData); var filtered_tableData = this.tableData.sort((a, b)=> a.ticketid- b.ticketid) console.log(filtered_tableData); 但这并不像预期的那样 这是我的阵列: 编辑1 在尝试了这段代码之后,我的结果数组仍然保持不变

我有这个数组,我想对它进行排序
ticketid
wise,这是一个数字。下面是我正在尝试的代码

    console.log(this.tableData);
    var filtered_tableData = this.tableData.sort((a, b)=> a.ticketid- b.ticketid)
    console.log(filtered_tableData);
但这并不像预期的那样

这是我的阵列:

编辑1 在尝试了这段代码之后,我的结果数组仍然保持不变

    console.log(this.tableData);
    var filtered_tableData = this.tableData.sort((a,b) => (a.ticketid > b.ticketid) ? 1 : ((b.ticketid > a.ticketid) ? -1 : 0)); 
    console.log(filtered_tableData);
请注意
这个.tableData
过滤的\u tableData
结果在console.log中是相同的

见下图


您是否尝试过以下各项的变化:

sort((a, b)=> b.ticketid - a.ticketid)
sort((b, a)=> b.ticketid - a.ticketid)
sort((b, a)=> a.ticketid - b.ticketid)

我的背景是C#,所以这只是一个暗箱操作,但我认为它可能会有所帮助。

更改排序回调以指定降序,并且您不需要新的引用变量(筛选的tableData),因为排序作用于原始的引用tableData

consttabledata=[{ticketid:24},{ticketid:12},{ticketid:90}]
tableData.sort((a,b)=>a.ticketid>b.ticketid?-1:1)

console.log(tableData)
降序排序应为b.ticketid-a.ticketid:

let ar = [{ticketid:3},{ticketid:5},{ticketid:2}]
    var filtered_tableData = ar.sort((a, b)=> b.ticketid - a.ticketid)
    console.log(filtered_tableData);

有什么区别吗
a.ticketid>b.ticketid-1:1
b.ticketid-a.ticketid
?@NikitaMadeev您也可以这样做,但您需要相应地更改比较函数您的答案不适用于我的对象数组,我们需要做些其他事情吗?什么不起作用?如果你用一个通用的对象数组检查上面的代码片段,它是你的子集,它工作得很好,发布新的输出new output是sameIt不是一个二维数组,顺便说一句-它是一个对象数组。不工作,我已经更新了我的问题,请参阅edit::1maybe parent object更改排序方法的定义,尝试克隆数组并对其排序:让nar=tableData.map(i=>i.sort((a,b)=>b.ticketid-a.ticketid)