首页 > 解决方案 > 如何获取数组

问题描述

我有一个对象数组。每个对象都有一个左像素键。我想要实现的是获得一个数组,即newArray,其元素是通过减去数组中第一个obj的leftpixel键值与第二个leftpixel键值得出的,这将成为newArray的第一个元素,第二个元素将通过减去leftpixel键获得数组中第二个 obj 的值,具有第三个 leftpixel 键值。

我拥有的数组是这样的

[
  { 
    A: "FSDF"
    B: "$145.0"
    leftpixel: 2 
  },
  { 
    A: "DFH"
    B: "$463.0"
    leftpixel: 191 
  },
  { 
    A: "FDH"
    B: "$546.0"
    leftpixel: 191 
  },
  { 
    A: "DSG"
    B: "$154.0"
    leftpixel: 192
  }
]

我想要的新数组应该是这样的

newArray = [189, 0, 1] 

标签: javascript

解决方案


您可以对数组进行切片并在同一索引处获取切片数组项和原始数组的增量,

var data = [{ A: "FSDF", B: "$145.0", leftpixel: 2 }, { A: "DFH", B: "$463.0", leftpixel: 191 }, { A: "FDH", B: "$546.0", leftpixel: 191 }, { A: "DSG", B: "$154.0", leftpixel: 192 }],
    deltas = data.slice(1).map((v, i) => v.leftpixel - data[i].leftpixel);

console.log(deltas);


推荐阅读