如何获取子数组中已删除元素的索引

时间:2018-07-10 08:52:35

标签: javascript

我有一个数组all = [2,3,4,12, 55,33]ar1 = [12, 55, 33],它是all的子数组(从12开始)。

当我从all(例如:12)的一部分ar1中删除一个值时,如何在ar1中获得该值的索引(对于12来说是0 ),这样我也可以将其从ar1中删除。

编辑:实际上,我的数组中有对象。我在这里以数字为例

2 个答案:

答案 0 :(得分:3)

由于您指定数组包含对象,因此应为每个对象指定一个单独的id,以便可以使用id对其进行过滤。除id外,您的对象还可以保存其他任何数据。

然后可以使用Array.findIndex查找对应对象的索引。

示例:

const arr = [{ id: "abc" }, { id: "def" }];
arr.findIndex (itm => itm.id === "def") // Returns 1

或者,如果您不能添加id,则可以进行深度对象比较(精度不是100%,但在大多数情况下都可以使用)。您可以使用独立的实现,也可以使用Lodash的_.isEqual

答案 1 :(得分:0)

实际上,您可以使用Array#splice()从第一个数组中删除元素,然后使用Array#findIndex()检查其Widescreen tool window layout,然后从第二个Window options中删除它。

index

演示:

array