javascript - 如何获取子数组中被删除元素的索引

标签 javascript

我有一个数组 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/

相关文章:

javascript - 无服务器 CORS 错误 : Did not find method in CORS header ‘Access-Control-Allow-Methods'

javascript - 如何平滑地更改元素的值?

javascript - 当用户根据输入和给定的密码登录时,如何检查输入的是用户名还是电子邮件?

javascript - 如何使用 jquery 和 razor 制作搜索表单

javascript - 如何将 "external"文本文件打包到 elisp 模块中?

javascript - ng-class 和动画的竞争条件

javascript - 使用 JavaScript 检测浏览器、浏览器版本和当前操作系统

javascript - 使用 map 函数 div 到数组中

javascript - 使用 CSRF 保护同时发出多个 AJAX 请求

javascript - 忽略评论标签或使用 JS 将文本更改为反斜杠