美文网首页
javascript 之 iterable

javascript 之 iterable

作者: 爱乔总真是太好啦 | 来源:发表于2016-11-08 19:59 被阅读5次

当我们手动给Array对象添加了额外的属性后,for ... in循环将带来意想不到的意外效果:

var a = ['A', 'B', 'C'];

a.name = 'Hello';

for (var x in a) {

alert(x); // '0', '1', '2', 'name'

}

for ... in循环将把name包括在内,但Array的length属性却不包括在内。

for ... of循环则完全修复了这些问题,它只循环集合本身的元素。

然而,更好的方式是直接使用iterable内置的forEach方法,它接收一个函数,每次迭代就自动回调该函数。以Array为例:

vara = ['A','B','C'];

a.forEach(function(element, index, array){

// element: 指向当前元素的值

// index: 指向当前索引

// array: 指向Array对象本身

alert(element);

});

注意,forEach()方法是ES5.1标准引入的,你需要测试浏览器是否支持。

相关文章

  • Javascript之iterable

    遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。为了统一集合类型,ES6标准引入了新的itera...

  • javascript 之 iterable

    当我们手动给Array对象添加了额外的属性后,for ... in循环将带来意想不到的意外效果: var a = ...

  • JavaScript之iterable

    含摘录,非原创遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。为了统一集合类型,ES6标准引入了...

  • Iterables

    https://javascript.info/iterable 什么是 iterable for...of 如何...

  • Javascript教程(七)iterable

    数组的遍历可以使用下标,但是Map,Set无法使用下标遍历。ES6标准引入了新的iterable类型,Array、...

  • [JavaScript] iterator和iterable

    1. iterator iterator是具有无参next方法的对象,这个next方法返回{value: anyt...

  • JavaScript iterable(迭代器)

    iterable 遍历Array可以采用下标循环,遍历Map和Set就无法使用下标。为了统一集合类型,ES6标准引...

  • [JavaScript] (Day-07) - Iterable

    JavaScript 中的默认对象表示方式为{...},类似于iOS中的 Dictionary 数据结构,即都用键...

  • JavaScript-Map、Set和iterable

    JavaScript的默认对象表示方式{}可以视为其他语言中的Map或Dictionary的数据结构,即一组键值对...

  • JavaScript-iterable数据类型

    iterable数据类型 。ES6新引入类型 。Array、Map、Set都属于iterable类型 。具有ite...

网友评论

      本文标题:javascript 之 iterable

      本文链接:https://www.haomeiwen.com/subject/kfgsjttx.html