Javascript : Adding Key Value pair literal giving undefined result

标签 javascript jquery

它在我上次测试中有效,但现在它让我很难过。基本上我有这段代码:

    var myOBJ = {};
   for (var i = 0; i < myitems.length; i++) {

    myOBJ[i].itemtype = myitems.type;
    myOBJ[i].name = myitems.name;

   }

inside myitems 是我出于某种原因需要重写到另一个 object 的数据。但我有错误

Error: myOBJ[i] is undefined

谁能告诉我我缺少什么?

最佳答案

您不能通过索引访问对象字面量,您必须通过 访问它。

如果 myOBJ 是一个数组,那么您可以通过索引访问它。或者,如果 myOBJ 的键是数字,您的代码就可以工作。

如果您首先实例化每个对象,您可以很容易地使每个键成为一个数字,然后能够通过某种伪索引访问每个对象。

myOBJ[i] = {};

这将输出如下内容:

{
    1: {};
    //etc.
}

但为什么不简单地使 myOBJ 成为一个数组呢?

关于Javascript : Adding Key Value pair literal giving undefined result,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28721834/

相关文章:

javascript - 在 Javascript 中打印 actionMessages

javascript - 如何在javascript中的html表格中使用CSS

javascript - 我的 javascript 作用域出了什么问题

javascript - jquery 改变两个元素之间的文本

javascript - 在 head 元素中附加子元素时如何将 Controller 范围变量传递给 angular.element

javascript - jquery 多选过滤器无法重新加载

javascript - 定位 div #2

javascript - 如何理解这段 Promise 代码?

javascript - 如何在加载时隐藏元素?

javascript - 多表行展开/折叠