javascript - 如何获取数组
问题描述
我有一个对象数组。每个对象都有一个左像素键。我想要实现的是获得一个数组,即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]
解决方案
您可以对数组进行切片并在同一索引处获取切片数组项和原始数组的增量,
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 - 页脚位置固定在屏幕上
- docker - 无法打开 Kibana 仪表板
- php - 如何修复表单提交时的“此页面无法正常工作”错误
- javascript - notes.filter 不是函数
- swiftui - 当视图打开两次时,@state 属性不会初始化
- ansible - 多次运行 Ansible 模块模块
- docker - 使用代理 docker 从 Jenkins 管道部署/运行应用程序
- javascript - 我可以在打字稿中设置一个通用函数来枚举吗?
- unity3d - Unity:实例化预制件出现在错误的位置
- sql-server - GAE PDO 不支持 sqlsrv