如何按这些字符串的一部分对字符串进行排序?

时间:2019-07-18 11:53:50

标签: javascript

我有一系列对象。每个对象都有一个ID,看起来像这样:“ Device / 1”或“ Device / 7”。在我的情况下,我收到的数组未排序,并且我试图按“ /”后面的数字对其进行排序。我知道可以通过例如我自己实施冒泡排序来实现,但是可以使用javascript sort()方法实现我的目标吗?

2 个答案:

答案 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是一致的,则无需拆分...