首页 > 解决方案 > 对具有字母数字属性的对象数组进行排序(第一个字母 AZ,然后是数字 0-9)

问题描述

我正在寻找对包含字母和数字的数组进行排序

inputArray = ["1", "a2", "c", "4", "b1", 2];
expectedArray = ["a2", "b1", "c", 1, 2, 4];

标签: javascript

解决方案


构建一个字母数字和数字数组。然后在连接它们之前对它们进行排序。

const inputArray = ["1", "a2", "c", "4", "b1", 2];
let alpha = [], num = [];

inputArray.map( (element) => {
  if( parseInt(element) == element ) num.push( parseInt( element ));
  else alpha.push( element );
});

const expectedArray = [...alpha.sort(), ...num.sort()];
console.log( expectedArray );


推荐阅读