二.Loops & Iteration

every()方法

  • 测试数组中所有元素是否都通过指定函数的测试,若有一项返回false即返回false;

  • every方法为数组的每个元素执行一次callback函数(不包括通过某些方法删除或者未定义的项,值定义为undefined的项除外),直到找到一个使callback返回false(可转化为false的值),跳出迭代并返回false。否则(所有元素则返回true)返回true。

  • 语法:

array.every(function(currentValue,index,arr), thisValue)
  • 例子:
function isBigEnough(element){
  return (element >=10);
}
var passed = [12, 5, 8, 130, 44].every(isBigEnough);
// passed is false
passed = [12, 54, 18, 130, 44].every(isBigEnough);
// passed is true

filter()方法

  • 使用指定的函数测试所有的元素,创建并返回一个包含所有通过测试的元素的新数组。

  • filter为数组中的每个元素调用一次callback(不包括通过某些方法删除或者未定义的项,值定义为undefined的项除外),并利用有callback返回true或等价于true的元素创建一个新数组,未通过callback测试的元素会被跳过,不会包含在新数组里。

var a = [1, 2, 3, 7,4].filter(function(value){
   return value > 4      
})
console.log(a)//[7]

forEach()方法

  • forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
function logArrayElements(element, index, array) {
    console.log("a[" + index + "] = " + element);
}

[2, 5, 4,9].forEach(logArrayElements);

// a[0] = 2
// a[1] = 5
// a[2] = 4
// a[3] = 9

map()方法

  • 为数组每一项执行一个指定函数,返回一个新数组,每个元素都是回调函数的结果。
var numbers = [1, 4, 9];
var roots = numbers.map(Math.sqrt);
/* roots的值为[1, 2, 3], numbers的值仍为[1, 4, 9] */

some()方法

  • 若有一项返回true即返回true。
var a = [1, 2, 3, 7,4].some (function(value){
   return value > 8       
})
console.log(a)//false
a = [1, 2, 3, 9,4].some (function(value){
   return value > 8       
})
console.log(a)//true

for循环

for( var index = 0; index < array.length; i ++){} 

for-in循环

var obj = {a:1, b:2, c:3};
for (var prop in obj) {
console.log("obj." + prop + " = " + obj[prop]);
}
// 输出:
// "obj.a = 1"
// "obj.b = 2"
// "obj.c = 3"

for-of循环

  • ES6里引入了一种新的循环方法,它就是for-of循环,它既比传统的for循环简洁,同时弥补了forEach和for-in循环的短板。
let iterable = [10, 20, 30];
for (let value of iterable) {
console.log(value);
}
// 10
// 20
// 30
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 第2章 基本语法 2.1 概述 基本句法和变量 语句 JavaScript程序的执行单位为行(line),也就是一...
    悟名先生阅读 9,689评论 0 13
  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 13,114评论 0 3
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,386评论 19 139
  • 乐妈十堰浅秋阅读 1,196评论 0 0
  • 一般稍有口舌之才的人都喜欢说这样一句话:人才不一定有口才,但是有口才一定是人才。虽然这种简单粗暴的定义未免有自吹自...
    p9x25s阅读 11,131评论 15 242