文档章节

javascript 学习笔记 【数组迭代方法】

anziguoer
 anziguoer
发布于 2015/12/14 17:58
字数 523
阅读 22
收藏 0

数组迭代方法:

        ECMAScript 5 为数组定义了 5 个迭代方法。每个方法都接收两个参数:要在每一项上运行的函数和(可选的)运行该函数的作用域对象——影响 this 的值。传入这些方法中的函数会接收三个参数:数组项的值、该项在数组中的位置和数组对象本身。根据使用的方法不同,这个函数执行后的返回值可能会也可能不会影响方法的返回值。以下是这 5 个迭代方法的作用。

  1. every() :对数组中的每一项运行给定函数,如果该函数对每一项都返回 true ,则返回 true 。

  2. filter() :对数组中的每一项运行给定函数,返回该函数会返回 true 的项组成的数组。

  3. forEach() :对数组中的每一项运行给定函数。这个方法没有返回值。

  4. map() :对数组中的每一项运行给定函数,返回每次函数调用的结果组成的数组。

  5. some() :对数组中的每一项运行给定函数,如果该函数对任一项返回 true ,则返回 true 。

以上方法都不会修改数组中的包含的值。

在这些方法中,最相似的是 every() 和 some() ,它们都用于查询数组中的项是否满足某个条件。

对 every() 来说,传入的函数必须对每一项都返回 true ,这个方法才返回 true ;否则,它就返回

false 。而 some() 方法则是只要传入的函数对数组中的某一项返回 true ,就会返回 true 。


console.log('数组函数的操作');

var arr = ['21', 'yangyulong', new Object(), [1,2,3]];

console.log('使用every函数');

var everyResulr = arr.every(function(item, index, array){

    // console.log(item, index, array);

    // return item > 2;

    return true;

});

console.log(everyResulr);

console.log('++++++++++++++数组的filter函数使用+++++++++++++++++++++++++++++');

var filterArr = arr.filter(function(item, index, array){

    return typeof item == 'object' ? true : false;

});

console.log(filterArr);

console.log('===============数组map函数的使用======================');

var mapArr = arr.map(function(item){

    return item + 100;

});

console.log(mapArr)



© 著作权归作者所有

共有 人打赏支持
anziguoer

anziguoer

粉丝 29
博文 81
码字总数 39619
作品 0
海淀
程序员
私信 提问
读《JavaScript高级程序设计》

1、JavaScript学习笔记1:JavaScript学前介绍 http://my.oschina.net/bluefly/blog/478575 2、JavaScript学习笔记2:JavaScript基本概念 http://my.oschina.net/bluefly/blog/484445......

slyso
2015/07/14
0
0
day03_js学习笔记_03_js的事件、js的BOM、js的DOM

day03js学习笔记03_js的事件、js的BOM、js的DOM ============================================================================= 涉及到的知识点有: ==================================......

黑泽明军
04/19
0
0
day03_js学习笔记_02_js的内建对象、js的函数

day03js学习笔记02_js的内建对象、js的函数 ========================================================================================================================================......

黑泽明军
04/19
0
0
day02_js学习笔记_01_js的简介、js的基本语法

day02js学习笔记01_js的简介、js的基本语法 ========================================================================================================================================......

黑泽明军
04/18
0
0
分享51本关于JavaScript方面的学习书籍(免费下载)

分享51本关于JavaScript方面的学习书籍(免费下载) 1、JavaScript面向对象15分钟教程 2、原型、作用域、闭包的完整解释 3、Javascript面向对象特性实现(封装、继承、接口) 4、JavaScript面向...

邓剑彬
2012/12/02
1K
12

没有更多内容

加载失败,请刷新页面

加载更多

详解css BEM书写规范

BEM是基于组件的web开发方法。其思想是将用户界面分隔为独立的块,从而使开发复杂的UI界面变得更简单和快,且不需要粘贴复制便可复用现有代码。BEM由Block、Element、Modifier组成。选择器里...

前端小攻略
7分钟前
1
0
一个centos初始化脚本

概述 就是自己无聊写的一个脚本,欢迎使用,star,fork顺便关注我一波 https://github.com/bboysoulcn/centos 使用方法 这个是给最小化安装的centos使用的,在centos 7.5上测试过,当然其他的...

bboysoulcn
11分钟前
0
0
mybatis 自动维护 createdAt, updatedAt

SpringBoot Mybatis Plus公共字段自动填充功能

youngjdong
14分钟前
1
0
Docker之nginx容器中部署静态文件

注: Docker版本如下: Client: Version:17.12.0-ce API version:1.35 Go version:go1.9.2 Git commit:c97c6d6 Built:Wed Dec 27 20:11:19 2017 OS/Arch:linux/amd64Ser......

克虏伯
15分钟前
0
0
搭建git服务器————gitlab

github毕竟是公开的,而私有仓库又得花钱买。所以我们可以想办法搭建一个私有的,只自己公司使用的。Gitlab是个不错的选择。在介绍它之前,先讲述一下命令行的git服务器 找一台服务器,首先要...

chencheng-linux
21分钟前
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部