如何在不直接引用对象的情况下获取数组内对象的名称?

  • 本文关键字:对象 数组 获取 情况下 引用 javascript
  • 更新时间 :
  • 英文 :


这是我最初的解决方案,但我发现Object.keys不能与数组索引一起工作。

let myArrayForObjects = [];
function firstFunc(){
myArrayForObjects.push(object1, object2, object3);
}
function secondFunc(){
for (let i = 0; i < myArrayForObjects.length; i++){
let varName = Object.keys({myArrayForObjects[i]}[0]); 
console.log(varName);
}
}

我把它贴在这里,并建议以下解决方案:

let myArrayForObjects = [];
function firstFunc(){
myArrayForObjects.push(object1, object2, object3);
}
function secondFunc(){
for (let i = 0; i < myArrayForObjects.length; i++){
// Find the object in the array
let objectIndex = myArrayForObjects.indexOf(myArrayForObjects[i]);
// Get the object's name
let objectName = Object.keys(myArrayForObjects)[objectIndex];
console.log(objectName);
}
}

但是它将1,23记录到控制台。我想让它记录的是object1,oject2object3

有可能做我想做的事吗?或者我应该给对象添加一个带有其名称的属性?

不将对象存储在数组中,而是将它们放在对象中,如下所示:

const myObjects = { object1, object2, object3 }

您现在可以通过名称访问它们:

console.log(myObjects.object1)

或者在需要时迭代对象:

console.log(Object.values(myObjects))

相关内容

  • 没有找到相关文章

最新更新