获取Javascript中具有最高值的前十个变量

获取Javascript中具有最高值的前十个变量,javascript,Javascript,基本上我有36个变量,分别命名为t0,t1,t3。。。依此类推,每个变量都以值0启动,并且根据操作的不同,它们会递增1 我想找到一种方法,通过将前十个值最高的变量放入一个数组,如Var topTen=[t33,t31,t2]。首先将变量放入一个数组: var ts = [t0, t1, ...]; 然后,您可以按如下方式获得前10名: var topTen = ts.sort().slice(-10).reverse(); 理想情况下,首先要将所有值存储在一个数组中。首先将变量放入一个数组中

基本上我有36个变量,分别命名为t0,t1,t3。。。依此类推,每个变量都以值0启动,并且根据操作的不同,它们会递增1


我想找到一种方法,通过将前十个值最高的变量放入一个数组,如Var topTen=[t33,t31,t2]。

首先将变量放入一个数组:

var ts = [t0, t1, ...];
然后,您可以按如下方式获得前10名:

var topTen = ts.sort().slice(-10).reverse();

理想情况下,首先要将所有值存储在一个数组中。

首先将变量放入一个数组中:

var ts = [t0, t1, ...];
然后,您可以按如下方式获得前10名:

var topTen = ts.sort().slice(-10).reverse();

理想情况下,首先要将所有值存储在一个数组中。

首先将变量放入一个数组中:

var ts = [t0, t1, ...];
然后,您可以按如下方式获得前10名:

var topTen = ts.sort().slice(-10).reverse();

理想情况下,首先要将所有值存储在一个数组中。

首先将变量放入一个数组中:

var ts = [t0, t1, ...];
然后,您可以按如下方式获得前10名:

var topTen = ts.sort().slice(-10).reverse();

理想情况下,首先要将所有值存储在一个数组中。

应尝试以下方法:

var myarray=["t14", "t53", "t1"]
    myarray.sort();
    myarray.reverse();
var final = myarray.slice(0,10);

//SHOULD GIVE YOU
// ["t53", "t14", "t1"]
然后您可以提取第一个值


更新-->

应尝试以下方法:

var myarray=["t14", "t53", "t1"]
    myarray.sort();
    myarray.reverse();
var final = myarray.slice(0,10);

//SHOULD GIVE YOU
// ["t53", "t14", "t1"]
然后您可以提取第一个值


更新-->

应尝试以下方法:

var myarray=["t14", "t53", "t1"]
    myarray.sort();
    myarray.reverse();
var final = myarray.slice(0,10);

//SHOULD GIVE YOU
// ["t53", "t14", "t1"]
然后您可以提取第一个值


更新-->

应尝试以下方法:

var myarray=["t14", "t53", "t1"]
    myarray.sort();
    myarray.reverse();
var final = myarray.slice(0,10);

//SHOULD GIVE YOU
// ["t53", "t14", "t1"]
然后您可以提取第一个值


更新-->

为什么不使用一个对象来存储信息?与其使用36个变量,不如使用一个具有36个属性的对象。然后,您可以循环遍历这些值,将它们添加到数组中,并获取所需的数字集:

var obj = {
    t1: 1,
    t2: 33,
    t3: 10,
    t4: 9,
    t5: 45,
    t6: 101,
    ...
}

// create an array
var arr = [];

// loop through the object and add values to the array
for (var p in obj) {
  arr.push(obj[p]);
}

// sort the array, largest numbers to lowest
arr.sort(function(a,b){return b - a});

// grab the first 10 numbers
var firstTen = arr.slice(0, 9);
这将返回一个数组,只需在其中循环以逐个列出值


为什么不使用对象来存储信息?与其使用36个变量,不如使用一个具有36个属性的对象。然后,您可以循环遍历这些值,将它们添加到数组中,并获取所需的数字集:

var obj = {
    t1: 1,
    t2: 33,
    t3: 10,
    t4: 9,
    t5: 45,
    t6: 101,
    ...
}

// create an array
var arr = [];

// loop through the object and add values to the array
for (var p in obj) {
  arr.push(obj[p]);
}

// sort the array, largest numbers to lowest
arr.sort(function(a,b){return b - a});

// grab the first 10 numbers
var firstTen = arr.slice(0, 9);
这将返回一个数组,只需在其中循环以逐个列出值


为什么不使用对象来存储信息?与其使用36个变量,不如使用一个具有36个属性的对象。然后,您可以循环遍历这些值,将它们添加到数组中,并获取所需的数字集:

var obj = {
    t1: 1,
    t2: 33,
    t3: 10,
    t4: 9,
    t5: 45,
    t6: 101,
    ...
}

// create an array
var arr = [];

// loop through the object and add values to the array
for (var p in obj) {
  arr.push(obj[p]);
}

// sort the array, largest numbers to lowest
arr.sort(function(a,b){return b - a});

// grab the first 10 numbers
var firstTen = arr.slice(0, 9);
这将返回一个数组,只需在其中循环以逐个列出值


为什么不使用对象来存储信息?与其使用36个变量,不如使用一个具有36个属性的对象。然后,您可以循环遍历这些值,将它们添加到数组中,并获取所需的数字集:

var obj = {
    t1: 1,
    t2: 33,
    t3: 10,
    t4: 9,
    t5: 45,
    t6: 101,
    ...
}

// create an array
var arr = [];

// loop through the object and add values to the array
for (var p in obj) {
  arr.push(obj[p]);
}

// sort the array, largest numbers to lowest
arr.sort(function(a,b){return b - a});

// grab the first 10 numbers
var firstTen = arr.slice(0, 9);
这将返回一个数组,只需在其中循环以逐个列出值


切片后对数组排序
前10个元素

arr.sort(function (a,b) {
    return a - b;
});

var result = arr.slice(0,10);

切片
前10个元素之后对数组进行排序

arr.sort(function (a,b) {
    return a - b;
});

var result = arr.slice(0,10);

切片
前10个元素之后对数组进行排序

arr.sort(function (a,b) {
    return a - b;
});

var result = arr.slice(0,10);

切片
前10个元素之后对数组进行排序

arr.sort(function (a,b) {
    return a - b;
});

var result = arr.slice(0,10);
顺便说一句,如果变量表示为对象属性,则可以动态创建数组。。。 如果需要这些值,则返回x.v而不是x.k

顺便说一句,如果变量表示为对象属性,则可以动态创建数组。。。 如果需要这些值,则返回x.v而不是x.k

顺便说一句,如果变量表示为对象属性,则可以动态创建数组。。。 如果需要这些值,则返回x.v而不是x.k

顺便说一句,如果变量表示为对象属性,则可以动态创建数组。。。
如果需要这些值,则返回x.v而不是x.k

以便按值顺序对变量进行排序(所有变量的顶部都是1),然后选择(通过一些循环函数)前10个变量。。。问题出在哪里为什么不从一开始就使用一个数组,然后你只需要对它进行排序并获取前x个条目。不!不要那样做。如果需要数组,请使用数组。你永远不应该有36个变量而不是一个数组——这会让读者感到困惑,并且会使你的代码变得很糟糕。是的,最初我只是想得到我想要的工作,所以就这么做了(var I=0;我按值顺序对变量排序(所有变量都在顶部),然后选择(通过一些循环函数)前10个……问题出在哪里为什么不从一开始就使用一个数组,然后你只需要对它进行排序并获取前x个条目。不!不要这样做。如果你想要一个数组,就使用一个数组。你永远不应该有36个变量而不是一个数组——这会让读者感到困惑,并且会让你的代码变得很糟糕。是的,起初我只是想得到我想要的结果just did“for(var i=0;我按值顺序对变量排序(所有变量的顶部都是1),然后(通过一些循环函数)选择前10个变量…问题在哪里?男士:)为什么不从一开始就使用数组,然后只需对其排序并获取前x个条目。不!不要那样做。如果需要数组,请使用数组。你永远不应该有36个变量而不是一个数组——这会让读者感到困惑,并且会使你的代码变得很糟糕。是的,最初我只是想得到我想要的工作,所以就这么做了(var I=0;我按值顺序对变量排序(所有变量都在顶部),然后选择(通过一些循环函数)前10个……问题出在哪里为什么不从一开始就使用一个数组,然后你只需要对它进行排序并获取前x个条目。不!不要这样做。如果你想要一个数组,就使用一个数组。你永远不应该有36个变量而不是一个数组——这会让读者感到困惑,并且会让你的代码变得很糟糕。是的,起初我只是想得到我想要的结果刚刚为(var i=0;i