为了账号安全,请及时绑定邮箱和手机立即绑定

如何对特殊数组排序?

如何对特殊数组排序?

leavens 2017-04-12 15:57:40
例如: var arr = ['A','B','4','C','1','D','7','8'],排序之后要显示成A1B4C7D8
查看完整描述

3 回答

?
Xyino_Snake

TA贡献31条经验 获得超22个赞

我不懂JavaScript。只懂C++。但算法思路很简单。 这样。先把字母符号抽取出来,再把数字符号抽取出来。分别排序,再一一对应,合起来。绝对不难。 C语言的话要依靠ctype.h里的字符类别判断函数。Java我不知道。
查看完整回答
反对 回复 2017-04-12
?
ruibin

TA贡献358条经验 获得超213个赞

var arr = ['A','B','4','C','1','D','7','8', '9'];
arr.sort();
var num_set = [],
  str_set = [];
for (var i = 0; i < arr.length; i ++) {
  if (arr[i].charCodeAt(0) < 65) {
     num_set.push(arr[i]);
  } else {
     str_set.push(arr[i]);
  }
}
console.log(num_set);
console.log(str_set);
var ret = [];
for (var i = 0, j = 0; i < num_set.length, j < str_set.length; i ++, j ++) {
  ret.push(str_set[j] + num_set[i]);
}
console.log(ret);


没有直接排序法,有间接排序法。

查看完整回答
反对 回复 2017-04-12
  • 3 回答
  • 3 关注
  • 1291 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信