字母数字排序的 sortX 的实现
昨天和一个刚刚转前端的朋友聊天时,他说之前面试时有道 javascript 排序题思路不是很清楚,让我把这道题详细的讲解一下。本文主要是记录我的实现方法,欢迎大家一起讨论,如有更好的方法请给我留言。
题目如下
给定一个只包含大写字母和数字且无重复元素的混合数组,按照以下要求排序
- 字母按在字母表中的位置和数字从小到大排序
- 字母优先排在前面
例如:
sortX 为该方法,则执行 sortX([“1”, “A”, “B”, “4”, “E”, “C”, “6”, “7”]);
结果为:["A", "1", "B", "C", "4", "E", "6", "7"]
题目分析
主要是查考对 javascript 基础知识的综合运用能力,主要考查点:
- 正则的使用
- 字符串的操作(split、replace)
- 数组的操作(join、splice、indexOf、push、sort)
…
方法实现
1 | var arr = ["1", "A", "B", "4", "E", "C", "6", "7"]; |
本题目可实现的方法很多,以上是我认为相对简单的一种实现方法,若你有更好的方法,欢迎给我留言^_^。