Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
forEach 方法是否设计为仅适用于 javascript 中的数组?任何人都可以分享有关使用 forEach() 方法可以完成哪些主要任务的想法或示例,还是仅对获取元素值和索引有用?
不。
它旨在处理数组,但可以对任何类似数组的对象进行操作(尽管您仍然必须从它存在的地方访问它)。
例如,在 NodeList 上:
Array.prototype.forEach.call( document.getElementsByTagName('div'), function (divElement) { console.log(divElement); } );
它是一个数组函数。查看文档
您可以在任何类似数组的对象上使用它,但这不是很方便,因为您必须使用applyor call。例如 :
apply
call
[].forEach.call("abc",function(v){console.log(v)})
要遍历对象键,您应该使用for..in:
for (key in object) { var value = object[key]; }
请注意,jQuery 的兼容性函数$.each为数组和非数组对象启用了相同的迭代函数,但您通常知道您是否正在处理一个数组(或者您应该),所以我只使用它来与旧浏览器兼容。