如何使用数字和文本对数组进行排序(TypeScript / JavaScript)

时间:2014-01-22 12:22:08

标签: javascript arrays typescript

我是TypeScript和Javascript的新手。我正在尝试对包含数字和字符串的数组进行排序,例如(1,5,27.5,其他,移动)。我希望它按字母顺序显示先升序后的数字然后再显示。我试过了

myarr.sort (function (a, b) {
            return (a-b);
}

我收到错误,说操作符' - '不能应用于类型字符串和字符串

1 个答案:

答案 0 :(得分:1)

如果您不需要处理低于IE9的浏览器,filter是一个不错的选择。

获取数字并对其进行排序:

var nums = arr.filter(function (el) {
  return typeof el === 'number';
}).sort();

获取字符串并对其进行排序:

var strings = arr.filter(function (el) {
  return typeof el === 'string';
}).sort();

Concatonate两个数组:

var result = nums.concat(strings);

Demo