我非常新的编码,甚至更新的Javascript。我已经完成了一些基础课程,并且我试图通过自己的挑战开始学习。我试图搜索这个问题是否得到了解答并且没有找到类似的东西。如果有人能找到这个答案,请告诉我!
我正在尝试编写一个函数,它将获取一个数字列表(作为数组)并将其从最小到最大排序。由于我理解sort()没有正确排序数字,我试图根据我的一些谷歌搜索来编写这个函数。
这就是我所拥有的,老实说,感觉我错过了一步:
var sort= function(list){
function numberSort (a, b) {
return a - b;
};
numberSort(list);
我收到语法错误。我无法理解如何通过内部函数传递输入(列表),以便进行排序。
有人能提供进一步的解释,说明这里有什么问题吗?我觉得我对我发现的有助于排序数字的功能不太了解。
谢谢!
答案 0 :(得分:2)
所有你需要的是正确的回调函数,它为每个元素及其关系的检查返回一个值,一个小于零,零或大于零的数字,具体取决于顺序。
您可以查看Array#sort
以获取更多信息。
var array = [4, 6, 7, 2, 3, 10, 43, 100];
array.sort(function (a, b) {
return a - b;
});
console.log(array);
答案 1 :(得分:2)
直接在数组上使用Sort,并传入一个函数来确定哪个先行。试试这个:
var myArray = [1,2,5,3,11,7,458,90000,9001,-53,4,1.546789];
function myFunc(a,b){
return a-b;
}
console.log(myArray.sort(myFunc));
答案 2 :(得分:0)
初学者级别的简短选择排序示例,希望您会发现它很有用。
var sort = function(list){
function selectionSort(list) {
for(var i=0;i<list.length-1;i++){
for(var j=i+1;j<list.length;j++){
if(list[i]>list[j]){
var temp = list[j];
list[j] = list[i];
list[i] = temp;
}}}
return list;
};
return selectionSort(list);
}
var list = [6,4,2,3,5];
var result = sort(list);
console.log(result);