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

我拥有的数组是这样的

[
  {
    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]

最佳答案

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

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);

关于javascript - 我如何获得阵列,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59677263/

10-09 18:08