javascript - 在 javascript 中的命名对象数组中 - 名称可以访问吗?

标签 javascript arrays javascript-objects

如果我们创建一些对象,并用这些对象填充一个数组,那么名称是存储在数组中,还是只存储对象的属性?
我想这可能是微不足道的,但我一直无法找到答案。

var boxA = {color: "red", width: 100};
var boxB = {color: "yellow", width: 200};
var boxC = {color: "blue", width: 300};

boxArray = [boxA, boxB, boxC];

for (var i = 0; i < boxArray.length; i++) {

    //****
    // What code do we insert here to log
    // boxA
    // boxB
    // boxC
    //****

}

当然,添加是一个简单的解决方法
boxA.box = boxA; 

等然后打电话
console.log(boxArray[i].box);

但这真的有必要吗?

最佳答案

直接回答你的问题 - 不,你不能做你所问的。我曾多次遇到相同的情况。这就是我所做的。您可以不使用数组,而是将对象添加到对象文字中,并将对象映射到某个唯一键,例如 id。

var boxes = {
  boxA: { color: 'red', width: 100 },
  boxB: { color: 'blue', width: 200 },
  boxC: { color: 'yellow', width: 300 },
};

for (var boxKey in boxes) {
  console.log(boxKey);
}

// to use
boxes.boxA; // do something with boxA

关于javascript - 在 javascript 中的命名对象数组中 - 名称可以访问吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30494323/

相关文章:

python - 在新维度中堆叠数组

c - 从文件中读取值

javascript - 从对象数组中,将属性的值提取为数组

javascript - 如何创建一个函数来选择特定的数组?

javascript - 单击时切换多个链接的按钮颜色

javascript - react + 终极版 : How to update state when store is updated

javascript - 如何将按钮作为html添加到div并添加点击功能

java - 在 JSP 中从对象 ArrayList 转换为对象数组

javascript - 如何构造原型(prototype)以使函数上下文不引用 `prototype` 对象

javascript - 函数检查嵌套对象的 "deep equality"