js数组的迭代器方法(some、every、forEach、map、filter)
2017-08-04 18:05
866 查看
//数组操作之迭代器方法(这些方法可以对数组中的每一个元素运用某个方法) //一、不生成新数组的迭代器方法 //1、forEach方法(接收一个函数作为参数) function square(num){ alert(num * num) ; //可改变的价值在这里,这里每一项改变的值,当然这个值可以再组合利用 } var nums = [1,2,3,4,5]; console.log(nums.forEach(square)); //2、every方法(接收一个返回值为布尔值的函数,对数组中的每一个元素使用该函数) function isEven (num) { return num % 2==0; } var evens=[2,4,6,8,10]; var isAllEven = evens.every(isEven); //当且仅当数组中的所有的元素返回为真,every函数才会返回为真 if(isAllEven){ alert("all is even"); }else{ alert("not all is even"); } //3、some方法(只要数组中有一个元素使用方法返回为真,some函数就会返回真) var nums = [1,2,3,5,7,9]; function isEven (num) { return num % 2==0; } alert(nums.some(isEven)); //true //4.reduce方法 //用法一:为数组中的元素求和 function add (currentTotal,currentValue) { //alert(currentValue); //alert(currentTotal); return currentTotal+currentValue; } var nums = [1,2,3,4,5,6,7]; alert(nums.reduce(add)); //用法二:将数组中的元素连接成一个长的字符串 function linkStr (foreStr,currentStr) { return foreStr + currentStr; } var strings = ["nolan","is","studying","javascript"]; alert(strings.reduce(linkStr)); //二、生成新数组的迭代器方法 //1.map方法(类似于不生成新数组中的forEach方法) //用法一:取数组中每个单词的第一个字母 function firstAlpha (word) { return word[0].toUpperCase(); } var words = ["nolan","is","studying","javascript"]; var firstAlphas = words.map(firstAlpha); //可改变的价值在这里,即firstAlphas这个是数组改变后的新数组 alert(firstAlphas.join("")); //使用join可以去掉连接数组元素的逗号 //2.filter方法(类似于every方法) //用法一:筛选出符合条件(即返回值为true)的元素 function isEven (num) { return num % 2==0; } var nums=[1,2,4,6,8,10]; var evens = nums.filter(isEven); alert(evens); //案例:随机生成一些成绩,挑选出大于六十分的成绩 function pass (grade) { if(grade>60){ return true; }else{ return false; } } var grades = []; for(var i=0;i<20;i++){ grades[i]=Math.floor(Math.random()*101); } alert(grades); var passedGrades=grades.filter(pass); alert(passedGrades);
转载:http://blog.csdn.net/github_31392345/article/details/48631337
相关文章推荐
- js数组的迭代器方法(some、every、forEach、map、filter)
- js数组的迭代器方法(some、every、forEach、map、filter)
- JS数组方法总结shift()、unshift()、pop()、push()、concat()、splice()、filter()、map()、some()、every()、forEach()等方法
- JS数组中every(),filter(),forEach(),map(),some()方法学习笔记!
- js数组的遍历方法filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
- Js 数组方法:filter()、map()、some()、every()、forEach()、indexOf()、lastIndexOf()、
- js数组中forEach/some/every/map/filter/reduce的区别
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- Js 数组——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
- 数组的5中迭代方法 filter()、map()、forEach()、every()、 some()
- 一张图看懂JavaScript中数组的迭代方法:forEach、map、filter、reduce、every、some
- Js 数组——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
- [置顶] JAVASCRIPT中数组的迭代方法:FOREACH、MAP、FILTER、REDUCE、EVERY、SOME各个说明
- js数组遍历some,foreach,map,filter,every对比
- javascript中数组的迭代方法对比:forEach()、map()、reduce()、some()、every()、filter()图解
- Js 数组——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
- js数组常用的方法:forEach、map、filter、every的对比
- JS数组filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()实例
- Js 数组——filter()、map()、some()、every()、forEach()、lastIndexOf()、indexOf()
- js中数组过滤、遍历、迭代every、some、filter、map、forEach、reduce、reduceRight