本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
定义:
1、迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。
2、循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。
3、遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。
4、递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。
JavaScript中的迭代方法:
1、every()
用来查询数组中的 每一个是否 都 满足某一条件
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.every(function(item,index){ return (item > 5); // 判断传入的值是否全部都大于5 }) console.log(number); // false 只要有一个不满足就为 false
登录后复制
2、some()
查询数组中每项满足 某些条件
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.every(function(item,index){ return (item > 5); // 判断传入的值哪些项大于5 }) console.log(number); // false 只要有一个满足就为true
登录后复制
3、filter()
筛选符合条件的项,组成新数组
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.filter(function(item,index){ return (item > 5); // 判断传入的值哪些项大于5 }) console.log(number); // [6, 7, 8, 9]
登录后复制
4、map()
通过计算原数组中的项,来组成新的数组
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.map(function(item,index){ return item - 1; // 判断传入的值哪些项大于5 }) console.log(number); // [0, 1, 2, 3, 4, 5, 6, 7, 8]
登录后复制
5、forEach()
传入数组的每一项
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.forEach(function(item,index){ console.log(item); // [1, 2, 3, 4, 5, 6, 7, 8, 9] })
登录后复制
6、reduce()
数组的前项和后项进行累计值计算
var num = [1, 2, 3, 4, 5, 6, 7, 8, 9]; var number = num.reduce(function(prev,cur,index){ return prev + cur; }) console.log(number); // 1+2+3...+9 = 45 本质上就是数组中的项 累计运算的过程
登录后复制
注意
forEach 这个迭代方法在本质上和 for 循环没有什么区别,但是在使用该方法的时候会传入三个参数,在输出时候传入第一项,也就是输出数组中的每一项,如果传入第二项,那么会循环迭代数组的 index 的下标值,如果传入的是第三项,那么是循环迭代整个 num 数组。
【推荐学习:javascript高级教程】
以上就是JavaScript中的迭代方法有哪些的详细内容,更多请关注Work网其它相关文章!