Javascript 如何比较两个数组并从第一个数组中获取第一个匹配对象?

Javascript 如何比较两个数组并从第一个数组中获取第一个匹配对象?,javascript,arrays,Javascript,Arrays,var arr1=[‘五’、‘四’、‘满’、‘直’、‘三’、‘二’、‘一’、‘半身像’] var arr2=[{player1-box:“一”},{player2-box:“一”},{player3-box:“四”},{player1-box:“三”},{player3-box:“两”},{player1-box:“五”},{player2-box:“一”},{player3-box:“一”}您可以使用迭代arr1并在arr2中找到对象时退出循环 虽然对象具有不同的关键点,但需要获取用于检查的值

var arr1=[‘五’、‘四’、‘满’、‘直’、‘三’、‘二’、‘一’、‘半身像’]

var arr2=[{player1-box:“一”},{player2-box:“一”},{player3-box:“四”},{player1-box:“三”},{player3-box:“两”},{player1-box:“五”},{player2-box:“一”},{player3-box:“一”}
您可以使用迭代
arr1
并在
arr2
中找到对象时退出循环

虽然对象具有不同的关键点,但需要获取用于检查的值

var arr1=[“五”,“四”,“满”,“直”,“三”,“二”,“一”,“半身像],
arr2=[{“玩家1盒”:“一”},{“玩家2盒”:“一”},{“玩家3盒”:“四”},{“玩家1盒”:“三”},{“玩家2盒”:“三”},{“玩家3盒”:“两”},{“玩家1盒”:“五”},{“玩家2盒”:“一”},{“玩家3盒”:“一”},
结果;
arr1.some(v=>result=arr2.find(o=>Object.values(o).includes(v));

控制台日志(结果)
您可以使用迭代
arr1
,如果在
arr2
中找到对象,则可以退出循环

虽然对象具有不同的关键点,但需要获取用于检查的值

var arr1=[“五”,“四”,“满”,“直”,“三”,“二”,“一”,“半身像],
arr2=[{“玩家1盒”:“一”},{“玩家2盒”:“一”},{“玩家3盒”:“四”},{“玩家1盒”:“三”},{“玩家2盒”:“三”},{“玩家3盒”:“两”},{“玩家1盒”:“五”},{“玩家2盒”:“一”},{“玩家3盒”:“一”},
结果;
arr1.some(v=>result=arr2.find(o=>Object.values(o).includes(v));

控制台日志(结果)除了在arr1上迭代之外,我看不到当前数据设置的任何方法。如果未找到,则返回在未定义的
arr1
中找到的第一个

var arr1=[‘五’、‘四’、‘满’、‘直’、‘三’、‘二’、‘一’、‘半身像’]
var arr2=[{'player1-box':“一”},{'player2-box':“一”},{'player3-box':“四”},{'player1-box':“三”},{'player2-box':“三”:“二”},{'player1-box':“五”},{'player2-box':“一”},{'player3-box':“一”]
函数findFirst(键、播放器){
用于(钥匙中的钥匙){
让player=players.find(player=>Object.values(player.includes(key))
如果(玩家)返回玩家
}
}
let first=findFirst(arr1,arr2)

log(第一个)
除了在arr1上迭代之外,我看不到当前数据设置的任何方法。如果未找到,则返回在未定义的
arr1
中找到的第一个

var arr1=[‘五’、‘四’、‘满’、‘直’、‘三’、‘二’、‘一’、‘半身像’]
var arr2=[{'player1-box':“一”},{'player2-box':“一”},{'player3-box':“四”},{'player1-box':“三”},{'player2-box':“三”:“二”},{'player1-box':“五”},{'player2-box':“一”},{'player3-box':“一”]
函数findFirst(键、播放器){
用于(钥匙中的钥匙){
让player=players.find(player=>Object.values(player.includes(key))
如果(玩家)返回玩家
}
}
let first=findFirst(arr1,arr2)

console.log(第一个)
使用for循环或
forEach()
。为什么
arr2
?为什么不仅仅是
{player1-box:“value”,player2-box:“value”}
[{name:“player1”,value:“value”},/*…*/]
?对象键中不能有破折号。使用for循环或
forEach()
。为什么
arr2
?为什么不干脆
{player1-box:“value”,player2-box:“value”}
[{name:“player1”,value:“value”},/*…*/]
?对象键中不能有破折号。谢谢,您可以不使用箭头操作符发送它吗?谢谢,您可以不使用箭头操作符发送它吗?