快捷导航

如何对特殊数组排序?

例如: var arr = ['A','B','4','C','1','D','7','8'],排序之后要显示成A1B4C7D8

免责声明:本内容仅代表回答者见解不代表本站观点,请谨慎对待。

版权声明:作者保留权利,不代表本站立场。

回复

使用道具 举报

参与会员2

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

使用道具 举报

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.charCodeAt(0) < 65) {
   num_set.push(arr);
  } else {
   str_set.push(arr);
  }
}
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);
}
console.log(ret);


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

使用道具 举报

可能感兴趣的问答

发新帖
  • 微信访问
  • 手机APP