javascript 循环遍历总结

javascript 有以下几种循环遍历方式:

1、for 循环


let arr = [1,2,3];

for (let i=0; i}


2、for in

       以任意顺序遍历一个对象自有的、继承的、可枚举的、非Symbol的属性。对于每个不同的属性,语句都会被执行。

         for...in 循环只遍历可枚举属性。像 Array和 Object使用内置构造函数所创建的对象都会继承自Object.prototype和String.prototype的不可枚举属性,例如 String 的 indexOf() 方法或 Object的toString()方法。循环将遍历对象本身的所有可枚举属性,以及对象从其构造函数原型中继承的属性(更接近原型链中对象的属性覆盖原型属性)。

for (variable in object) {...}

variable:在每次迭代时,将不同的属性名分配给变量。object:被迭代枚举其属性的对象。



3、 for of

在 ES6 中引入的 for...of 循环,以替代 for...in 和 forEach() ,并支持新的迭代协议。for...of 允许你遍历 Arrays(数组), Strings(字符串), Maps(映射), Sets(集合)等可迭代的数据结构等。for of遍历数组元素值,与for in有区别

for (variable of iterable) {  statement  }

variable:每个迭代的属性值被分配给该变量。iterable:一个具有可枚举属性并且可以迭代的对象。


4、while 循环

while 循环会在指定条件为真时循环执行代码块。

while (条件){code}


5、do while 循环

循环至少执行一次,即便条件为 false,因为代码块是在条件语句判断前执行:

var i = 0;

do {  i++; }

while (i < 5) {

    console.log(i);

}


6、Array forEach 循环

forEach 方法按升序为数组中含有效值的每一项执行一次callback 函数,那些已删除或者未初始化的项将被跳过(例如在稀疏数组上)。

arr.forEach(callback[, thisArg]);

callback:为数组中每个元素执行的函数,该函数接收三个参数:

currentValue:数组中正在处理的当前元素。

index可选;数组中正在处理的当前元素的索引。

array可选:forEach() 方法正在操作的数组。

thisArg可选:可选参数。当执行回调函数时用作 this 的值(参考对象)。


7、Array map()方法

map() 方法返回一个新数组,不会改变原始数组。同时新数组中的元素为原始数组元素调用函数处理后的值,并按照原始数组元素顺序依次处理元素。不会对空数组检测

array.map(function(currentValue,index,arr), thisValue)



8、Array filter() 方法

创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素.不会对空数组进行检测;不会改变原始数组

array.filter(function(currentValue,index,arr),thisValue);


9、Array some() 方法

some() 方法测试是否至少有一个元素可以通过被提供的函数方法。该方法返回一个Boolean类型的值。

arr.some(callback(element[, index[, array]])[, thisArg])


10、Array every() 方法

every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。

every() 方法使用指定函数检测数组中的所有元素:如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。如果所有元素都满足条件,则返回 true。

array.every(function(currentValue,index,arr), thisValue)


11、Array reduce()方法

reduce() 方法接收一个函数作为累加器,数组中的每个值(从左到右)开始缩减,最终计算为一个值。 可以作为一个高阶函数,用于函数的 compose。

注意: reduce() 对于空数组是不会执行回调函数的。

array.reduce(function(total, currentValue, currentIndex, arr), initialValue)



12、Array reduceRight()方法

接受一个函数作为累加器(accumulator)和数组的每个值(从右到左)将其减少为单个值。

arr.reduceRight(callback[, initialValue])

你可能感兴趣的:(javascript 循环遍历总结)