我有一系列对象。每个对象都有一个ID,看起来像这样:“ Device / 1”或“ Device / 7”。在我的情况下,我收到的数组未排序,并且我试图按“ /”后面的数字对其进行排序。我知道可以通过例如我自己实施冒泡排序来实现,但是可以使用javascript sort()方法实现我的目标吗?
答案 0 :(得分:0)
这应该可以完成工作:)
let arr = [{ id: 'Device/2' }, { id: 'Device/1' }]
arr.sort((a, b) => parseInt(a.id.split('/')[1]) - parseInt(b.id.split('/')[1]))
console.log(arr)
答案 1 :(得分:0)
您可以将排序函数传递给.sort()
:
const arr = [
{id: 'Device/7'},
{id: 'Device/3'},
{id: 'Device/1'},
{id: 'Device/5'},
];
console.log(arr.sort((a,b) => a.id.localeCompare(b.id)));
如果您的id
是一致的,则无需拆分...