这篇文章主要介绍“怎么使用javascript中的迭代方法”,在日常操作中,相信很多人在怎么使用JavaScript中的迭代方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”
这篇文章主要介绍“怎么使用javascript中的迭代方法”,在日常操作中,相信很多人在怎么使用JavaScript中的迭代方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”怎么使用JavaScript中的迭代方法”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
JavaScript中的迭代方法:1、every(),可查询数组中的每一个元素是否都满足某一条件;2、some(),可查询数组中每个元素是否满足某些条件;3、filter();4、map();5、forEach();6、reduce()。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
定义:
1、迭代(iterate),指的是按照某种顺序逐个访问列表中的每一项。比如,for语句。
2、循环(loop),指的是在满足条件的情况下,重复执行同一段代码。比如,while语句。
3、遍历(traversal),指的是按照一定的规则访问树形结构中的每个节点,而且每个节点都只访问一次。
4、递归(recursion),指的是一个函数不断调用自身的行为。比如,以编程方式输出著名的斐波纳契数列。
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中的迭代方法”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!
--结束END--
本文标题: 怎么使用JavaScript中的迭代方法
本文链接: https://lsjlt.com/news/84657.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
2022-06-04
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0