gpt4 book ai didi

javascript - 如何获取 Map 函数的下一个元素?

转载 作者:行者123 更新时间:2023-11-29 16:38:08 24 4
gpt4 key购买 nike

我正在尝试在 React native 上制作一些坐标平面函数。但是我遇到了一个问题,我不知道如何获取数组中的下一个元素。

这是我的数组:

[
{"M":["0","0"]},
{"H":"100"},
{"V":"0"},
{"H":"100"},
{"V":"100"},
{"H":"0"},
{"V":"100"},
{"H":"0"},
{"V":"0"},
]

这是我的功能:

const rotate = (pathArray, angle) =>{
if (angle > 0){
let vCordinate;
return pathArray.map((cordinate)=>{
if(Object.entries(cordinate)[0][0] == "M"){
let mCordinate = Object.entries(cordinate)[0][1];
mCordinate[0] = (parseInt(mCordinate[0]) * Math.cos(angle)) - (parseInt(mCordinate[1]) * Math.sin(angle));
mCordinate[1] = (parseInt(mCordinate[1]) * Math.cos(angle)) + (parseInt(mCordinate[0]) * Math.sin(angle));
return {[Object.entries(cordinate)[0][0]]: mCordinate};
}
//LOGIC TO GET NEXT ELEMENT
if(Object.entries(cordinate)[0][0] == "H"){
let hCordinate = Object.entries(cordinate)[0][1];
vCordinate = Object.entries(cordinate)[0][1]
return {[Object.entries(cordinate)[0][0]]: vCordinate};
}
if(Object.entries(cordinate)[0][0] == "V"){
return {[Object.entries(cordinate)[0][0]]: vCordinate};
}
})
}
return pathArray;
}

在这一点上,当我点击“H”时,我需要获取下一个元素。

如何做到这一点?

最佳答案

map的回调方法接受 3 个参数:

  • 当前项目值;
  • 当前项目索引;
  • 数组 map 被调用。

因此,您可以使用索引来获取下一个元素值:

var newArray  = myArray.map(function(value, index, elements) {
var next = elements[index+1];
// do something
});

var newArray  = myArray.map(function(value, index) {
var next = myArray[index+1];
// do something
});

请注意,next 变量的值可能是undefined。如果需要,测试变量以防止错误。

关于javascript - 如何获取 Map 函数的下一个元素?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49462751/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com