JavaScript数组的循环和迭代

JavaScript数组的循环和迭代

循环

for循环

普通版for循环

var arr = ["a","b","c","d"];

for (let i = 0; i < arr.length; i++){
      console.log(arr[i]);    .//a b c d
}

优化版for循环

var arr = ["a","b","c","d"];

for (let i = 0; len =  arr.length;i < len;  i++){
      console.log(arr[i]);    .//a b c d
}

for in 循环

var arr = ["a","b","c","d"];

for (let i in arr ){
      console.log(arr[i]);    .//a b c d
}

for of 循环

var arr = ["a","b","c","d"];

for (let item of arr){
      console.log(item);    .//a b c d
}

说明

  1. for-in 是遍历集合对象的键名, for-of 是直接遍历集合对象的键值。
  2. for-of 的遍历方式性能要高于 for-in ,但仍比不不上普通的 for 循环。
  3. for-of 不仅支持数组的遍历,还支持大多数类数组对象。同时也支持 ES6 里新增的 Map 和 Set 对象

数组迭代

forEach()

描述:按顺序让数组中每一项依次执行某种相同的操作。

var arr = [10, 11, 12,13, 14];

arr.forEach(function(item, index){
      console.log( item);           //10 11 12 13 14
      console.log( index);         //0 1 2 3 4
})    

说明:

  1. 数组自带的 forEach 循环,使用频率较高,但实际上性能比普通 for 循环弱。

forEach 不能使用 continue 和 break 语句句中断循环,也不能使用 return 语句句返回到外层函 数。

map()

描述:按顺序让数组中每一项依次执行某种相同的操作,然后返回一个新数组

var arr = [10, 11, 12,13, 14];

var newArr = arr.map(function(item, index){
      return item * 2;
})
console.log( newArr);           //[20, 22, 24, 26,28]

filter()

描述:按顺序让数组中每一项依次执行某种相同的操作,然后筛选出符合条件的元素,组成新数组并返回。

var arr = [10, 11, 12,13, 14];

var newArr = arr.filter(function(item, index){
      return item % 2 == 0;
})
console.log( newArr);           //[10, 12, 14]

feduce()

描述:按顺序让数组中的前项和后项做某种计算,并累计返回最终值。

var arr = [10, 11, 12,13, 14];

var result = arr.reduce(function(prev, next){
      return prev + next;
})
console.log( result);           //  60

every()

描述:按顺序让数组中每一项依次执行某种相同的操作,用来检测数组中每一项是否都符合条件。

var arr = [10, 11, 12,13, 14];

var result = arr.every(function(item, index){
      return item % 2 == 0;
})
console.log( result);           //  false

说明:检测的元素中,如果全部都满足条件,返回 true ,只要有一项不满足条件,则返回 false 。即 一假必假。

some()

描述:按顺序让数组中每一项依次执行某种相同的操作,用来检测数组中某一项是否都符合条件。

var arr = [10, 11, 12,13, 14];

var result = arr.some(function(item, index){
      return item % 2 == 0;
})
console.log( result);           //  true

说明:检测的元素中,只要有一项符合条件,就返回结果 true ,如果全部都不满足条件,则返回结 果 false 。即一真必真。

时间: 2024-10-11 22:48:03

JavaScript数组的循环和迭代的相关文章

数组的循环与迭代......字符串

数组的循环与迭代 1.循环 for循环 for in循环 for of循环 2.数组迭代 forEach()----遍历数组 map()----遍历并操作数组元素,返回新数 组. filter()----遍历并筛选数组元素,返回新数 组. reduce()----遍历并计算数组元素,累计返回最 终值. every()----遍历并检测数组元素,有一项不满 足,返回 false. some()----遍历并检测数组元素,有一项满 足,返回 true. 字符串 常用属性 字符串的长度---字符串和数

Javascript数组的5种迭代方法

#Javascript数组的5种迭代方法 数组当中定义了5个迭代方法,传入这些方法中的函数会接受三个参数,数组项的值,该项在数组的位置,和数组对象本身,以下是5个迭代方法的作用. 1.every方法: 对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true. let arr1 = [1,2,3,4,5,6]; let arr2 = [-1,-2,-3,-4,-5,-6]; let every1 = arr1.every((item,index,arr)=>{ return

数组的循环和迭代

循环 (1) for 循环 for 循环是遍历数组最简单的一种,也是使用频率最高的一种. 普通版 for 循环 var = ["a", "b", "c", "d"]; for ( let = 0; < . ; ++ ) { console.log( [ ] ); // a b c d } 优化版 for 循环 var = ["a", "b", "c", &quo

Javascript 数组循环遍历之forEach

Javascript 数组循环遍历之forEach 数组循环变量,最先想到的就是 for(var i=0;i<count;i++)这样的方式了. 除此之外,也可以使用较简便的forEach 方式 2.  forEach 函数. Firefox 和Chrome 的Array 类型都有forEach的函数.使用如下: [html] view plain copy <!--Add by oscar999--> <!DOCTYPE HTML PUBLIC "-//W3C//DTD

javascript 数组迭代与归并

数组的5个迭代方法: every(); //对数组中的每一项运行给定函数,如果该函数对每一项都返回true,则返回true: filter(); //对数组中的每一项运行给定函数,返回该函数会返回true的项组成的数组: forEach(); //对数组中的每一项运行给定函数,这个方法没有返回值: map(); //对数组中的每一项运行给定函数,返回函数每次调用的结果组成的数组: some(); //对数组中的每一项运行给定函数,如果该函数对任一项返回true,则返回true. *:以上方法都不

JavaScript 数组去重

JavaScript 数组去重 Why underscore (觉得这部分眼熟的可以直接跳到下一段了...) 最近开始看 underscore.js 源码,并将 underscore.js 源码解读 放在了我的 2016 计划中. 阅读一些著名框架类库的源码,就好像和一个个大师对话,你会学到很多.为什么是 underscore?最主要的原因是 underscore 简短精悍(约 1.5k 行),封装了 100 多个有用的方法,耦合度低,非常适合逐个方法阅读,适合楼主这样的 JavaScript

javascript数组原型方法

1.javascript数组原型方法. 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>jstest</title> 6 </head> 7 <body> 8 <script> 9 var arr = ["1","2&q

JavaScript 数组基本操作

简介 数组操作无论是在JavaScript中还是在其他语言中都是很常见.经常会用到的,现在我把JavaScript 数组基本操作整理一下,供大家参考学习.里边包含我自己的见解以及案例,希望能够帮助大家,使用的是ECMAScript 5. 字符串与数组转换 有时候我们需要把字符串进行转换为数组,则需要split方法,把数组转换为字符串则需要join方法 var star="js,php,java,c++"; star=star.split(","); console.

JavaScript数组之概论

参考:http://www.cnblogs.com/dolphinX/p/3353590.html 数组是一段线性分配的内存,它是通过整数计算偏移量并访问其中的元素,所以数组是性能出色的数据结构,但JavaScript没有像此类数组一样的数据结构 作为替代,JavaScript提供一种拥有类数组(array-like)特性的对象. JavaScript本质是Object,多提供了一个length 属性 && 继承Array var a = { length:1 } var arr = Ar