JavaScript如何对变量数组进行排序并返回一个变量?

4

我使用JavaScript,并且有一个变量的数组。

var a=5,b=10,c=3,d=11,e=0; //5 Variables with randomly chosen values
var myArray=[a,b,c,d,e]; 
myArray.sort(); //sort them, so the lowest value or variable is on first place
alert("This Variable has the lowest value: " + myArray[0]); 
//tell me the variable with the lowest value

基本上,我会得到这个文本:“这个变量的最小值为:0”

但是我想要的是:“这个变量的最小值为:e”

我该如何返回变量而不是变量的值?

最好的问候 qweret


请查看此线程,其中包含答案 [链接](https://dev59.com/UXNA5IYBdhLWcg3wAI3d) - Marcin Buciora
2个回答

5
你需要创建一个对象数组
var array = [{key: 'a', value: 5}, {key: 'b', value: 10}, {key: 'c', value: 3}, {key: 'd', value: 10}, {key: 'e', value: 0}];

然后您应用一个sort函数:
array.sort(function(obj1, obj2) {
   return obj1.value - obj2.value;
});

显示警示框:

alert("This Variable has the lowest value: " + array[0].key); 

点击此处查看实际效果。


太棒了!像黄油一样顺畅,这正是我想要的。我不知道你可以制作出这样的对象,但现在我知道了,听起来非常合理!谢谢! - qweret

1

如下所示这里,使用排序函数作为排序方法调用的参数。

例如:

myArray.sort(myArraySortFunction);

function myArraySortFunction(a, b) {

}

你应该看一下这里描述的JavaScript关联数组here


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接