根据顺序从数组中获取值

问题描述

假设我有一个这样的数组:

var test_array = [0.1,2.1,0.7,5.4,3.2,1.6];

我基本上想获取数组中的前 2 个值,将它们放入 2 个单独的变量中,然后继续下一步,如下所示:

var test_array = [0.1,1.6];
test_array.sort();
for (let i=0;i< test_array.length -1; i++) {
   var j = i + 1;
   var pt_one = test_array[i];
   var pt_two = test_array[j];
   console.log("pt_one = " + pt_one);
   console.log("pt_two = " + pt_two);
   
}

有没有更有效的方法来做到这一点?可以以某种方式使用 forEach() 方法吗?

解决方法

它可能不会好得多,但无论如何你的长度是不正确的。我以为您可能希望一次看到两个增量:

let test_array = [0.1,2.1,0.7,5.4,3.2,1.6,10,100],pt_one,pt_two;
test_array.sort((a,b)=>a-b);
for(let i=0,n=1,l=test_array.length; i<l; i+=2,n+=2){
  pt_one = test_array[i]; pt_two = test_array[n];
  console.log('pt_one = '+pt_one); console.log('pt_two = '+pt_two);
}

我注意到你也会遇到这种问题。

,

您可以尝试使用 forEach

test_array.forEach((n,i,arr) => {
  var [pt_one,pt_two] = test_array.slice((arr.length - i) * -1);
})