猿问

如何对特殊数组排序?

例如: var arr = ['A','B','4','C','1','D','7','8'],排序之后要显示成A1B4C7D8
leavens
浏览 1292回答 3
3回答

Xyino_Snake

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

ruibin

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);没有直接排序法,有间接排序法。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答