Javascript 对数组从下到上进行排序,然后反向排序。仅获取总阵列的10%

Javascript 对数组从下到上进行排序,然后反向排序。仅获取总阵列的10%,javascript,arrays,object,Javascript,Arrays,Object,“选票缺失”=[4.61,0.53,0.18,0.89,0.53,2.3,4.96, 0.71, 0.35, 4.26, 0.35, 1.06, 0.89, 1.06, 0.18, 0.89, 9.54, 0, 3.9, 4.26, 0.35, 1.77, 0.35, 0.53, 5.67, 0.35, 1.42, 13.65, 2.66, 0.18, 0.18, 6.38, 0.71, 8.51, 4, 0.35, 0.35, 5.14, 0, 0.35, 0.53, 0.35, 4.6

“选票缺失”=[4.61,0.53,0.18,0.89,0.53,2.3,4.96,
0.71, 0.35, 4.26, 0.35, 1.06, 0.89, 1.06, 
0.18, 0.89, 9.54, 0, 3.9, 4.26, 0.35, 1.77, 
0.35, 0.53, 5.67, 0.35, 1.42, 13.65, 2.66, 
0.18, 0.18, 6.38, 0.71, 8.51, 4, 0.35, 0.35,
5.14, 0, 0.35, 0.53, 0.35, 4.61, 3.01, 4.43,
2.13, 1.24, 1.7, 2.13, 10.99, 0.53, 2.09, 
0.53, 0.35, 0, 0.53, 0, 0.35, 3.01, 1.77, 
0.89, 0.53, 45.56, 2.48, 0, 14.89, 1.77, 
4.43, 3.19, 0.35, 2.84, 6.21, 3.55, 1.24, 
0.89, 0.71, 0, 0.89, 1.24, 1.6, 6.21, 2.48,
1.06, 2.13, 0.18, 0.89, 65, 3.19, 0.89, 0, 
0.89, 3.4, 3.55, 1.06, 0, 3.37, 4.96, 1.06, 0.71,
1.42]
函数getTenPerOfMissed(数组){
var-temp=[];
var len=array.length*0.1;
对于(var i=0;i百分之十打开临时数组的最简单方法是从getTenPerOfMissed函数返回它。然后,调用的任何函数都可以访问修改后的数组

function getTenPerOfMissed(array) {
  var temp = [];
  var len = array.length * 0.1;
  for (var i = 0; i < array.length; i++) {
    //  console.log(array[i].missed_votes_pct);

    if (i < len) {
      temp.push(array[i]);
    } else if (array[i].missed_votes_pct == array[i - 1].missed_votes_pct) { //find the 10% of the lowest values and keep also values that                                                                               repeated
      temp.push(array[i]);
    } else {
      break;
    }
  }
  return temp;
}

  var topten = getTenPerOfMissed(array);
  // topten is the "temp" array from getTenPerOfMissed

  // sort array differently
  array.sort(...);
  var bottomten = getTenPerOfMissed(array);
函数getTenPerOfMissed(数组){ var-temp=[]; var len=array.length*0.1; 对于(var i=0;i
打开临时数组的最简单方法是从getTenPerOfMissed函数返回它。然后,调用的任何函数都可以访问修改后的数组

function getTenPerOfMissed(array) {
  var temp = [];
  var len = array.length * 0.1;
  for (var i = 0; i < array.length; i++) {
    //  console.log(array[i].missed_votes_pct);

    if (i < len) {
      temp.push(array[i]);
    } else if (array[i].missed_votes_pct == array[i - 1].missed_votes_pct) { //find the 10% of the lowest values and keep also values that                                                                               repeated
      temp.push(array[i]);
    } else {
      break;
    }
  }
  return temp;
}

  var topten = getTenPerOfMissed(array);
  // topten is the "temp" array from getTenPerOfMissed

  // sort array differently
  array.sort(...);
  var bottomten = getTenPerOfMissed(array);
函数getTenPerOfMissed(数组){ var-temp=[]; var len=array.length*0.1; 对于(var i=0;i排序时,您不需要此
a.missed\u voces\u pct-b.missed\u voces\u pct
,它期望
missed\u voces\u pct
成为对象内的键。在这种情况下,数组将如下所示

[{missed_votes_pct:someVal},{missed_votes_pct:someVal}]
只有排序
missed\u voces\u pct
这只是一个数组就可以了。您可以使用
Math.ceil
Math.floor
获取整数,因为10%的数组长度也可以给出浮点数

您可以使用
splice
创建子阵列

从技术上讲,您不需要两个函数来获取顶部和底部的10%。您可以按升序排序,并使用
array.splice(开始,有多少个)
来获取顶部的10&
array.splice(-10)
来获取最后的10个最高值

let missed_vows_pct=[4.61,0.53,0.18,0.89,0.53,2.3,4.96,
0.71, 0.35, 4.26, 0.35, 1.06, 0.89, 1.06,
0.18, 0.89, 9.54, 0, 3.9, 4.26, 0.35, 1.77,
0.35, 0.53, 5.67, 0.35, 1.42, 13.65, 2.66,
0.18, 0.18, 6.38, 0.71, 8.51, 4, 0.35, 0.35,
5.14, 0, 0.35, 0.53, 0.35, 4.61, 3.01, 4.43,
2.13, 1.24, 1.7, 2.13, 10.99, 0.53, 2.09,
0.53, 0.35, 0, 0.53, 0, 0.35, 3.01, 1.77,
0.89, 0.53, 45.56, 2.48, 0, 14.89, 1.77,
4.43, 3.19, 0.35, 2.84, 6.21, 3.55, 1.24,
0.89, 0.71, 0, 0.89, 1.24, 1.6, 6.21, 2.48,
1.06, 2.13, 0.18, 0.89, 65, 3.19, 0.89, 0,
0.89, 3.4, 3.55, 1.06, 0, 3.37, 4.96, 1.06, 0.71,
1.42
];
函数getTenPerOfMissed(数组){
var-temp=[];
var len=Math.ceil(array.length*0.1);
返回阵列拼接(0,10);
}
功能百分比(成员){
让memsortedMems=members.sort(函数(a,b){
返回a-b;
});
返回getTenPerOfMissed(memsortedMems)
}
函数Top百分之十(成员){
让memsortedMems=members.sort(函数(a,b){
返回b-a;
});
返回getTenPerOfMissed(memsortedMems);
}
日志(最低百分之十(未投票);

console.log(最高百分之十(未投票率))当你排序时,你不需要这个
a.missed\u voces\u pct-b.missed\u voces\u pct
,它期望
missed\u voces\u pct
是对象内部的一个键。在这种情况下,数组将如下所示

[{missed_votes_pct:someVal},{missed_votes_pct:someVal}]
只有排序
missed\u voces\u pct
这只是一个数组就可以了。您可以使用
Math.ceil
Math.floor
获取整数,因为10%的数组长度也可以给出浮点数

您可以使用
splice
创建子阵列

从技术上讲,你不需要两个