我有一个数组 all = [2,3,4,12, 55,33]
和 ar1 = [12, 55, 33]
这是一个子all
数组(从 12 开始)。
当我从属于 ar1
一部分的 all
中删除一个值时(例如:12),如何获取该值在 ar1< 中的索引
(对于 12,它是 0),这样我也可以将其从 ar1
中删除。
编辑:我的数组中实际上有对象。我在这里使用数字作为示例
最佳答案
由于您指定数组包含对象,因此您应该为每个对象指定一个单独的 id
,以便您可以使用 id
对其进行过滤。除了 id
之外,您的对象还可以保存任何其他数据。
然后您可以使用 Array.findIndex
找到相应对象的索引。
示例:
const arr = [{ id: "abc" }, { id: "def" }];
arr.findIndex (itm => itm.id === "def") // Returns 1
或者,如果您无法添加 id
,则必须进行深度对象比较(这不是 100% 准确,但在大多数情况下有效)。您可以使用独立的实现,或者例如 Lodash 的 _.isEqual
.
关于javascript - 如何获取子数组中被删除元素的索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51260987/