Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何在跟踪变量名称的同时对变量值进行排序?_Javascript - Fatal编程技术网

Javascript 如何在跟踪变量名称的同时对变量值进行排序?

Javascript 如何在跟踪变量名称的同时对变量值进行排序?,javascript,Javascript,我有7个变量:牛仔竞技、萨娅、巴尔萨扎、米斯特拉、卢娜、卡利普索和基亚拉。它们中的每一个都存储了一个值,该值是在我的程序的初始部分计算得出的 我想要的是根据这些变量的值对它们进行排序,同时跟踪变量的名称 我正在写这段代码,试图在Wix上为我11岁的女儿建立一个网站 var points = [rodeo, mistral, calypso, kiara, balthazar, saya, luna]; points.sort(function(a, b){return a-b}); con

我有7个变量:牛仔竞技、萨娅、巴尔萨扎、米斯特拉、卢娜、卡利普索和基亚拉。它们中的每一个都存储了一个值,该值是在我的程序的初始部分计算得出的

我想要的是根据这些变量的值对它们进行排序,同时跟踪变量的名称

我正在写这段代码,试图在Wix上为我11岁的女儿建立一个网站

var points = [rodeo, mistral, calypso, kiara, balthazar, saya, luna];
points.sort(function(a, b){return a-b});   
console.log(points)   
使用此代码,我得到:
0:2
1:2
2:2
3:2
4:3
5:3
6:4


这是一个很好的排名,但我不知道哪个值属于哪个变量。。。这就是我的问题…

一种可能是将变量存储为数组中的对象,然后对这些对象的值进行排序。通过这种方式,您可以看到哪个“变量”与哪个值关联

见下例:

var rodeo=3;
var mistral=2;
var-calypso=2;
var kiara=2;
var balthazar=2;
var saya=4;
var-luna=3;
var points=[{rodeo}、{mistral}、{calypso}、{kiara}、{balthazar}、{saya}、{luna}],
结果=points.sort(函数(a,b){return Object.values(a)[0]-Object.values(b)[0]});
控制台日志(结果)

.as console wrapper{max height:100%!important;top:0;}
一种可能是将变量存储为数组中的对象,然后对这些对象的值进行排序。通过这种方式,您可以看到哪个“变量”与哪个值关联

见下例:

var rodeo=3;
var mistral=2;
var-calypso=2;
var kiara=2;
var balthazar=2;
var saya=4;
var-luna=3;
var points=[{rodeo}、{mistral}、{calypso}、{kiara}、{balthazar}、{saya}、{luna}],
结果=points.sort(函数(a,b){return Object.values(a)[0]-Object.values(b)[0]});
控制台日志(结果)

.as console wrapper{max height:100%!important;top:0;}
为此,您应该使用
对象的
数组
。您可以使用
查找()
来获取name的值

var points=[{name:“rodeo”,value:3},{name:“mistral”,value:3},{name:“calypso”,value:1},{name:“kiara”,value:6},{name:“balthazar”,value:3},{name:“saya”,value:2},{name:“luna”,value:4}];
点=点.排序((a,b)=>a.value-b.value);
console.log(点)

console.log(“kiara的值=“+points.find”({name}=>name==“kiara”).value)
为此,您应该使用
对象的
数组
。您可以使用
查找()
来获取name的值

var points=[{name:“rodeo”,value:3},{name:“mistral”,value:3},{name:“calypso”,value:1},{name:“kiara”,value:6},{name:“balthazar”,value:3},{name:“saya”,value:2},{name:“luna”,value:4}];
点=点.排序((a,b)=>a.value-b.value);
console.log(点)

console.log(“kiara的值=“+points.find”({name})=>name==“kiara”).value)
因此,如果有4个值为2的变量,您如何知道哪个是哪个?你为什么在意呢?如果你有4个值为2的变量,你怎么知道哪个是哪个?你为什么在意?OP是如何使用变量“name”访问对象属性的?反之亦然?@RobG我觉得他们只是想看看哪个变量属于哪个分数。(例如,他们可以打印记分板),而不是通过变量名访问分数-不需要使用变量名,因为与它相关的值存储在值本身中,OP如何使用变量“name”访问对象属性,或者反之亦然?@RobG我觉得他们只是想看看哪个变量属于哪个分数。(例如,他们可以打印记分板),而不是通过变量名访问分数-不需要使用变量名,因为与它相关的值存储在值本身中