繁体   English   中英

在二维数组中查找数组的索引?

[英]Finding the index of an array in a two dimensional array?

我有两个数组。 我想在originalArr中找到currentArr位置的索引。 两个阵列均在运行时更新。

let currentArr= [[450, 30, "down"],[480, 60, "right"]]
let originalArr = [[510, 60, "right"],[480, 60, "right"],[450, 60, "down"],[450, 30, "down"], [450, 0, "right"]]

有人可以帮助我吗?

您可以使用函数map和函数findIndex查找匹配项。

此替代方法使用函数every检查长度以及每个索引值。

我假设索引应该在同一位置

 let currentArr= [[450, 30, "down"],[480, 60, "right"]] let originalArr = [[510, 60, "right"],[480, 60, "right"],[450, 60, "down"],[450, 30, "down"], [450, 0, "right"]]; let indexes = currentArr.map(a => originalArr.findIndex(ia => ia.length === a.length && ia.every((e, i) => e === a[i]))); console.log(indexes); 
 .as-console-wrapper { max-height: 100% !important; top: 0; } 

由于内部数组将始终处于相同顺序,因此可以使用JSON.stringify比较数组的字符串化版本:

 let currentArr= [[450, 30, "down"],[480, 60, "right"]] let originalArr = [[510, 60, "right"],[480, 60, "right"],[450, 60, "down"],[450, 30, "down"], [450, 0, "right"]]; let indexes = currentArr.map(c => originalArr.findIndex(o => JSON.stringify(o) === JSON.stringify(c))); console.log(indexes); 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM