如何对数组中的数据进行装箱但包含先前的值?

时间:2018-10-02 06:39:47

标签: javascript arrays

我有一个名为targetPercentage的数组。

targetPercentage = [0,33,77,132]

如何将其分类为长度为2但包含先前值的块? 如果可能的话,也可以将其放入具有各自属性的Javascript对象数组中。

示例输出:

[0,33]
[33,77]
[77,132]

通过将其制成对象数组来输出示例:

thresholds : [ {from:0,to:33},{from:33,to:77},{from:77,to:132} ] 

与此question类似,但包含先前的值。

4 个答案:

答案 0 :(得分:1)

您可以使用Array.from从头开始创建数组,并在每次迭代时访问第i个元素和第i + 1个元素来创建对象:

const targetPercentage = [0,33,77,132];
const result = Array.from(
  { length: targetPercentage.length - 1 },
  (_, i) => ({ from: targetPercentage[i], to: targetPercentage[i + 1] })
);
console.log(result);

或者,如果您想要一个数组数组:

(_, i) => ([ targetPercentage[i], targetPercentage[i + 1] ])

答案 1 :(得分:0)

const targetPercentage = [0, 33, 77, 132]

const thresholds = []
for (let i = 0; i < targetPercentage.length - 1; i++) {
let range = {
  from: targetPercentage[i],
  to: targetPercentage[i + 1]
 }
 thresholds.push(range) 
}

答案 2 :(得分:0)

array function-slice(initial,count)-将给定的数组切成3个块,每个块2个元素。

临时数组将具有[0,33],[33,77],[77,132]

 var i,j,temparray,chunk = 2;
        result=[];for (i=0,j=targetPercentage.length; i<j-1; i++) {
            temparray = targetPercentage.slice(i,i+chunk);
           result.push({from:temparray[0],to:temparray[1]});
        }
        console.log(result);

答案 3 :(得分:0)

您可以尝试以下方法:

AWS_SECRET_ACCESS_KEY