[英]Finding index of value in two dimensional array of objects in javascript
[英]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.