我想循环遍历数组中包含的对象并更改每个对象的属性.如果我这样做:
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j]);
}
Run Code Online (Sandbox Code Playgroud)
控制台应该调出阵列中的每个对象,对吧?但实际上它只显示第一个对象.如果我控制台将数组记录在循环外部,那么所有对象都会出现,所以肯定会有更多.
无论如何,这是下一个问题.如何使用循环访问数组中的Object1.x?
for (var j = 0; j < myArray.length; j++){
console.log(myArray[j.x]);
}
Run Code Online (Sandbox Code Playgroud)
这将返回"未定义".循环外的控制台日志再次告诉我,对象都具有"x"的值.如何在循环中访问这些属性?
我被推荐到其他地方为每个属性使用单独的数组,但我想确保我已经用尽了这个大道.
谢谢!
它让我觉得我document.querySelectorAll(...).map(...)甚至不能在Firefox 3.6中做到这一点,我仍然无法找到答案,所以我想我会在这篇博客上交叉发帖:
http://blowery.org/2008/08/29/yay-for-queryselectorall-boo-for-staticnodelist/
有没有人知道你没有获得阵列的技术原因?或者为什么StaticNodeList不从数组继承以这样的方式,你可以使用map,concat等等?
(顺便说一句,如果它只是你想要的一个功能,你可以做类似NodeList.prototype.map = Array.prototype.map;......但是,为什么这个功能(故意?)首先被阻止?)
我正在编写一个简短的脚本来更改<abbr>元素的内部文本,但发现它nodelist没有forEach方法.我知道这nodelist不会继承Array,但似乎不是forEach一个有用的方法吗?是否有一个具体的实施问题,我没有意识到阻止添加forEach到nodelist?
注意:我知道Dojo和jQuery都有forEach某种形式的节点列表.由于限制我无法使用.