gpt4 book ai didi

javascript - 如何获取对象数组中对象的索引?

转载 作者:可可西里 更新时间:2023-11-01 02:54:20 27 4
gpt4 key购买 nike

我有一个像这样的 JavaScript 对象数组:

box[0] = {...}
box[1] = {...}
box[2] = {...}
...
box[499] = {...}

这些对象由同一个构造函数生成,并在循环内添加到数组中。对象在原型(prototype)中有方法需要知道对象在数组中的索引 来完成它们的工作。目前我正在做的是在循环内创建每个对象时在每个对象内设置一个名为 id 的属性,等于数组索引。像这样:

box[i].id = i;

但是我对此并不完全满意,因为每次我使用 sort() 重新排序数组时,我都必须运行一个循环来使用新的更新 id 属性指标值。

我的问题是,是否有一种方法可以知道对象内部的数组中的索引,而无需设置 id 属性,希望您能帮助我。

提前致谢。

最佳答案

我认为数组中对象内的函数不会知道引用它的数组的索引。

因为 Array 中的每个项目都简单地指向内存中的那个对象,可以想象有几十个 Array 项目、变量、对象属性等引用同一个对象,所以函数(或包含该函数的对象) 不知道您希望进行哪个反向引用。

我猜如果你需要知道它在数组中的索引,你会被困在你正在做的事情上。

我想该函数可以针对数组调用 indexOf(),因为它返回一个 index,但是每次调用都需要一些开销,您需要为不支持的浏览器添加它。

theArr.indexOf( this ); // assuming the function was called from the context
// of the object in question

关于javascript - 如何获取对象数组中对象的索引?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4755005/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com