Javascript常用遍历方法对比

103 阅读1分钟

遍历

方法示例备注
for循环for(let i = 0, len = arr.length; i < len; i++) {···}性能最好
forEacharr.forEach((item, index, arr) => {···})
index和arr可选
不支持continue和break
continue和break可以用some和every实现
没有返回值
maparr.map((item, index, arr) => {···}, thisValue)
index、arr和thisValue可选
有返回值
for offor(let i of iterable)
const obj = { length: 2, 0: 'foo', 1: 'bar' }(类数组)
遍历数/数组对象/字符串/map/set等拥有
迭代器对象的集合(类数组对象),不能遍
历对象。
for infor(let i in obj )多用于遍历对象,输出key;
使用for in会遍历数组所有的可枚举属性,
包括原型上的属性和方法,
hasOwnPropert判断属性是对象实例属性;
Object.keys(obj)获取对象属性名的集合,输出key