编程语言
首页 > 编程语言> > 如何使用JavaScript将对象存储在数组中

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

作者:互联网

我正在开发野生动物园浏览器.我想将当前活动的选项卡对象存储在数组中作为键.如何在数组中存储多个选项卡对象.

我写了下面的代码.

**第一种情况:

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

标签:safari-extension,javascript
来源: https://codeday.me/bug/20191013/1909917.html