【发布时间】:2012-09-11 22:25:44
【问题描述】:
您好,感谢您的关注!
背景
我正在使用 Node.JS 构建我的第一个应用程序,并且正在用原生 JavaScript 替换基于 jQuery 的习惯。
对于大多数项目,这是微不足道的;但是,我发现我真的很怀念 jQuery 的 $.each() 抽象的优雅,我想做一些类似的事情而不依赖 jQuery。
不幸的是,同样的代码在 JavaScript 中有点繁琐:
myArray = ["item 1", "item 2", "item 3"];
for(i=0; i<myArray.length; i++) {
myArray[i] = "Do Something Here".
};
我想做的是这样的:
myArray = ["item 1", "item 2", "item 3"];
myArray.each(function(){
//do stuff
});
问题
是否已经有一种扩展方法可以实现这一点?我忍不住想我在重新发明轮子。如果没有任何东西,扩展方法最好吗?
【问题讨论】:
-
原生 Array 原型上有一个
.forEach()函数。 -
for 循环有什么问题? (除了你的隐式全局
i) -
对于数组:
arr.forEach( fn );。对于(非数组)对象:Object.keys( obj ).forEach( fn );. -
@jbabey-- 本身没什么,我只是喜欢在不损失性能的情况下抽象一些东西。这只是个人喜好;对我来说,代码变得更具可读性。
-
还有
for( i in myArray ){ alert( i + ': ' + myArray[i] ); }
标签: javascript jquery node.js