`
kstgjfk403
  • 浏览: 30762 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

ECMA5Script 数组新增方法

阅读更多

数组是 ECMAScript 中非常重要的一个内置对象。在 ECMAScript 代码中可以看到大量对数组的使用。Array 对象用来表示数组。在 ECMAScript 规范第三版中并没有为 Array 对象提供比较多的实用函数来对数组进行操作。很多 JavaScript 框架对 ECMAScript 规范中的 Array 对象进行增强。ECMAScript 规范第五版中对 Array 对象进行了增强,因此很多功能可以直接依靠运行环境的实现。

 

Array 对象本身是一个构造函数,可以用来创建新的数组实例。当 Array 对象本身作为一个函数来使用时,其作用相当于作为构造函数来使用。因此“Array(1,2,3)”的结果与“new Array(1,2,3)”是相同的。新创建的 Array 对象实例的内部属性 [[Prototype]] 的值是内置的 Array 原型对象,即 Array.prototype。通过 Array.isArray 函数可以判断一个对象是否为数组。


在 Array.prototype 中增加了一些新的实用函数,具体如下所示:

Array.prototype.indexOf 和 Array.prototype.lastIndexOf:在两个函数用来在数组中查找指定元素的位置(下标从0开始)。在进行比较判断时,采用的是严格的对象比较算法,即相当于使用 === 来进行比较。

 

Array.prototype.every:该函数用来判断数组中的全部元素是否都满足给定的条件。条件是通过作为参数的另一个函数来指定的。函数的返回值(true 或 false)决定了条件是否满足。

 

Array.prototype.some:该函数的作用与使用方式类似于 Array.prototype.every,不同的是 Array.prototype.some 只要求数组中有任意一个元素满足条件即可。

 

Array.prototype.forEach:该函数用来遍历数组中的所有元素,对每个元素调用由参数指定的函数。

 

Array.prototype.map:该函数对数组中的每个元素执行特定的处理,并把处理的结果保存在一个新的数组中。

Array.prototype.filter:该函数根据给定的条件对数组中的元素进行过滤。只有满足条件的元素才会出现在结果数组中。

 

Array.prototype.reduce 和 Array.prototype.reduceRight:这两个函数用来对数组中的元素进行累积操作。上一次操作的结果会作为下一次操作的输入值。两个函数的区别在于 reduceRight 是从数组的末尾开始进行处理。

 var array = [1, 2, 3, 4, 5];
 array.indexOf(3); // 值为 下标2
 array.lastIndexOf(4); // 值为 下标3
 array.every(function(value, index, arr) {
    return value % 2 === 0;
 }); // 值为 false
 array.some(function(value, index, arr) {
    return value % 2 === 0;
 }); // 值为 true
 array.forEach(function(value, index, arr) {
    console.log(value);
 }); //对数组中的每个元素调用该函数
 array.map(function(value, index, arr) {
    return value * 2;
 }); // 每个元素执行特定的处理:值为 [2, 4, 6, 8, 10]
 array.filter(function(value, index, arr) {
    return value % 2 === 0;
 }); // 执行过滤函数,返回值为 [2, 4]
 array.reduce(function(preValue, value, index, arr) {
    return preValue + value;
 }); // 值为 15
 array.reduceRight(function(preValue, value, index, arr) {
    return preValue * value;
 }); // 值为 120

分享到:
评论

相关推荐

    前端教程:42 ecma5 新增数组方法

    千锋Web前端教程_42_ecma5_新增数组方法

    ECMA5数组的新增方法有哪些及forEach()模仿实现

    ECMA5是JavaScript的一个重要版本,它引入了许多新的特性,特别是在数组处理方面。...通过理解并熟练运用这些ECMA5数组新增的方法,开发者可以更高效地处理数组数据,提升代码的可读性和可维护性。

    JavaScript_ECMA5数组新特性详解_.docx

    ### JavaScript ECMA5 数组新特性详解 #### 引言 随着 Web 技术的不断发展,JavaScript 作为前端开发的核心语言之一也在不断进化和完善。ECMAScript 5(简称 ES5)是 JavaScript 的一个重要版本,它引入了许多实用...

    ECMAScript数组

    通过以上介绍,我们可以了解到ECMAScript中的数组提供了丰富的操作方法,这些方法使得在JavaScript中处理数组变得非常灵活和强大。掌握了这些基本概念和技术,可以更加高效地处理数据和逻辑问题。

    JavaScript_ECMA5数组新特性详解

    在JavaScript的ECMAScript 5版本中,数组对象引入了一系列的新特性,极大地增强了对数组操作的能力。这些新特性包括`indexOf`、`lastIndexOf`、`every`、`filter`、`forEach`、`map`、`some`以及`reduce`和`...

    JS模拟实现ECMAScript5新增的数组方法

    ECMAScript5 新增了十个数组方法,这些方法只有在ie9及以上浏览器中可以被使用,下面是对于这些方法的模拟实现。 一、Array.isArray(element)  该方法用于判断传入的对象是否为数组类型,返回true和false。 Array....

    ECMA-335 ECMA-335

    ECMA-335,全称为“ECMA通用中间语言规范”(ECMA Common Intermediate Language Specification),是微软.NET框架和开放源代码项目如Mono、CoreCLR等所遵循的标准之一。这个标准定义了公共语言运行库(Common ...

    Ecma script 5.0

    - **标题**:“Ecma script 5.0” 这个标题简洁明了地指出了文档的主题是关于EcmaScript 5.0标准的定义。EcmaScript是一种被广泛应用于网页浏览器中的脚本语言,它为网页开发提供了强大的功能支持。EcmaScript 5.0...

    Standard ECMA-2

    ##### 5. ECMAScript组件结构 - **ECMAScript组件接口**:定义了组件对外提供的功能和服务。 - **ECMAScript对象实现**:详细说明了组件内部的实现细节,包括属性、方法等。 - **附加资源文件**:除了主要的...

    Ecma标准Ecma-262.pdf

    ECMA-262标准覆盖了ECMAScript语言的各个方面,包括但不限于语法、数据类型、变量声明、运算符、流程控制结构、函数、对象模型、数组、字符串、日期、数学、正则表达式等核心概念和功能。此外,它还定义了语言的执行...

    ECMA-262中文版及英文原版

    数组提供了丰富的实例方法,如push、pop、shift、unshift等,Map和Set则为键值对存储提供了新的解决方案。 7. **字符串与模板字面量**:字符串是不可变的,支持各种操作如拼接、查找、替换等。ES6引入了模板字面量...

    ECMA Script6-好文,配套思维导图

    ECMA Script6-好文,配套思维导图;文章链接:https://blog.csdn.net/weixin_52479803/article/details/128863621

    ECMA Script6 pdf教程

    ECMAScript6是比较新的JavaScript的标准,现在大部分浏览器也都可以兼容它的写法, 历时将近6年的时间来制定的新 ECMAScript 标准 ECMAScript 6(亦称 ECMAScript Harmony,简称 ES6)终于在 2015 年 6 月正式发布

    JavaScript(ECMA262v5)

    对象类型则更加复杂,可以表示函数、数组、日期等多种实体。 **4. 自动分号插入** 为了提高代码的健壮性,ECMAScript 具有自动插入分号的功能,但这有时会导致难以预料的错误。了解自动分号插入的规则对于编写可靠...

    基于ecma5模块化开发的framework7的project

    3. **ECMAScript 5**:ECMA5是JavaScript的一个版本,它引入了许多改进,如严格模式、对象字面量扩展、数组和对象的遍历方法等。尽管它不包含内置的模块系统,但其强大的功能和广泛的浏览器支持使其成为早期模块化...

    《ECMA-262》js标准-英文版

    Array提供了丰富的数组操作方法,而Map和Set是ES6引入的,用于存储键值对和不重复的元素。 通过深入学习ECMA-262,开发者可以更好地理解和利用JavaScript的这些特性,编写出高效、可维护的代码。对于任何希望在前端...

    ECMA-262-语言标准中文版.pdf

    ECMA-262是JavaScript语言的标准,由ECMA国际组织制定并维护。这个标准定义了JavaScript的核心语法和语义,确保所有实现JavaScript的引擎都能按照一致的方式运行代码。中文版的ECMA-262文档对于中国开发者来说是一份...

    ECMA-262标准

    5. **社区支持**:由于ECMA-262是由国际标准化组织制定的,因此得到了广泛的社区支持和技术资源。 #### 五、ECMA-262标准的应用 ECMA-262标准广泛应用于Web开发、服务器端开发、移动应用开发等领域。它不仅是现代...

Global site tag (gtag.js) - Google Analytics