gpt4 book ai didi

javascript - 如何使用javascript将对象存储在数组中

转载 作者:行者123 更新时间:2023-11-30 18:40:54 26 4
gpt4 key购买 nike

我正在为 Safari 浏览器开发扩展。我想将当前事件的选项卡对象作为键存储在数组中。如何在数组中存储多个选项卡对象。

我写了下面的代码。

**第一种情况:

var obj = {};

obj1=new Object();
obj2=new Object();
obj3=new Object();

obj['cTab_'+obj1] = "This is object1";
obj['cTab_'+obj2] = "This is object2";
obj['cTab_'+obj3] = "This is object3";**

问题是我得到了第三个对象值。如何获取所有对象值。

**第二种情况:

var arr = new Array();

cTabObj1 = new Object();
arr[cTabObj1] = 'This is cTabObj1 Value';

cTabObj2 = new Object();
arr[cTabObj2] = 'This is cTabObj2 Value';

cTabObj3 = new Object();
arr[cTabObj3] = 'This is cTabObj3 Value';

alert("arr[cTabObj1] :" + arr[cTabObj1] + " arr[cTabObj2] :" + arr[cTabObj2] + " arr[cTabObj3] :" + arr[cTabObj3]);**

这里我也得到了所有三个对象的"This is cTabObj3 Value"

提前致谢。

最佳答案

i want to store current active tab objects in a array as key

你不能那样做。键是字符串。它们总是字符串。

如果您查看数组,您会发现任何对象都被转换为 [object Object]",因此您基本上插入了相同的键 3 次。

console.log(arr)console.dir(arr) 与 firebug 或 chrome/opera/safari 一起使用

你想要的是一个 ES6 WeakMap

只有 Firefox6 实现了 WeakMap

关于javascript - 如何使用javascript将对象存储在数组中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6895156/

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