【发布时间】:2021-03-21 18:25:47
【问题描述】:
我有一个对象数组,我只想在有剧集编号时对其进行排序,否则我不会对其进行排序或做任何我想要保持数据不变的事情。问题是使用此代码,当我有剧集编号时,排序效果很好。在另一种情况下,数据更改顺序意味着排序有效,我不希望这种情况发生。任何帮助将不胜感激
const episodes = Array.prototype.slice.call(this.episodes).sort((a, b) => {
if (a.Number && b.Number) {
return a.Number - b.Number
}
});
我有 2 种情况 Number 存在,就像我想要排序的对象数组一样,它实际上按 Numbers 排序很好,这里没有问题:
[
{
description: "Toda a atualidade."
duration: 5400000
Number: 321
id: "PROGRAMID_14807272"
},
{
description: "sobre as principais notícias do dia."
duration: 5400000
Number: 322
id: "PROGRAMID_148057788"
},
{
description: "notícias do dia."
duration: 5400000
Number: 320
id: "PROGRAMID_148074755"
}
]
或数字是空的,就像这种情况,我想保持它这样而不排序位它以某种方式排序,所以顺序正在改变,所以我正在寻找的结果是相同的东西,没有任何变化,但我得到了什么是混合顺序吗:
[
{
description: "Toda a atualidade."
duration: 5400000
Number: null
id: "PROGRAMID_14807272"
},
{
description: "sobre as principais notícias do dia."
duration: 5400000
Number: null
id: "PROGRAMID_148057788"
},
{
description: "notícias do dia."
duration: 5400000
Number: null
id: "PROGRAMID_148074755"
}
]
【问题讨论】:
-
你有一些例子和想要的结果吗?
-
这行得通吗?如果出现数字
0怎么办?即使它是一个数字也会是虚假的 -
我有两种情况,要么来自后端的数据,如 a.Number 和 b.Number 都是空值,要么都是整数。如果所有值都为空,我不想进行排序,否则我想对数据进行排序,所以我想忽略排序函数中的排序
-
请添加一些数据。
-
我添加了一个例子,请检查
标签: javascript arrays sorting object