标签: javascript arrays typescript
我是TypeScript和Javascript的新手。我正在尝试对包含数字和字符串的数组进行排序,例如(1,5,27.5,其他,移动)。我希望它按字母顺序显示先升序后的数字然后再显示。我试过了
myarr.sort (function (a, b) { return (a-b); }
我收到错误,说操作符' - '不能应用于类型字符串和字符串
答案 0 :(得分:1)
如果您不需要处理低于IE9的浏览器,filter是一个不错的选择。
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