当我通过提示输入值时,我的代码无效,但正在使用硬编码输入。
有人可以帮我理解为什么会这样吗?
var str=prompt("Enter String :: ");
alert(selectionSort(str));
function selectionSort(items){
var len = items.length,
min;
for (i=0; i < len; i++){
min = i;
//check the rest of the array to see if anything is smaller
for (j=i+1; j < len; j++){
if (items[j] < items[min]){
min = j;
}
}
if (i != min){
swap(items, i, min);
}
}
return items;
}
这是我的交换功能:
function swap(items, firstIndex, secondIndex){
var temp = items[firstIndex];
items[firstIndex] = items[secondIndex];
items[secondIndex] = temp;
}
答案 0 :(得分:0)
如果您只想对可以使用的字符进行排序:
var str = "farhan";
var sorted = str.split("").sort().join("");
console.log(sorted); // "aafhnr"
.split("")
将字符串转换为数组。 .sort
对数组进行排序(默认为升序),.join("")
将数组转换回字符串。
出于教育目的,编写自己的排序例程可能很有用,但除此之外,尽可能多地使用内置函数。