繁体   English   中英

按字母和数字对二维数组进行排序

[英]Sort a two-dimensional array by letters and numbers

我想用数字和字母对二维数组进行排序。 但不是 Javascript 而不是 JScript。 (native Microsoft JS engine named 'JScript' (used in Windows Scripting and Internet Explorer) which means we're not actually using JavaScript at all when we develop in IRPA! I'm still going to refer to it as JavaScript because JScript is based在 JavaScript 上(实际上称为 Ecmascript 另一个常见问题,我无法通过互换使用它们来帮助)

var arr = [
  ['D1-45-32', 'Sneaker'],
  ['11-12-54', 'Ball'],
  ['34-56-12', 'House'],
  ['Y5-78-89', 'Coke'],
  ['11-11-11', 'Ball_1']
];

我想按以下顺序排序:

[
  ['11-11-11', 'Ball_1'],
  ['11-12-54', 'Ball'],
  ['34-56-12', 'House'],
  ['D1-45-32', 'Sneaker'],
  ['Y5-78-89', 'Coke']
]

这是我尝试过的:

arr.sort(function(a,b){
  return /[A-Za-z]/.test(a) - /[A-Za-z]/.test(b) || a.charCodeAt(0) - b.charCodeAt(0)
});
console.log(arr);

是否有任何选项可以通过简单的循环来解决问题? 谢谢

嗨,我为你解决了这个问题:

var arr = [['D1-45-32','Sneaker'],['11-12-54','Ball'],['34-56-12','House'],['Y5-78-89','Coke'],['11-11-11','Ball_1']];

arr.sort((a,b)=>{
   if (a < b) {
    return -1;
  }
  if (a > b) {
    return 1;
  }
    })
console.log(arr);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM