javascript004_ECMA5数组新特性

•对于ECMAscript5这个版本的Array新特性补充:

–位置方法:indexOf      lastIndexOf

–迭代方法:every  filter   forEach   some    map

–缩小方法:reduce    reduceRight

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Untitled Document</title>
        <script type="text/javascript" charset="utf-8">

            var arr = [1,2,3,4,5,4,3,2,1];

            //新加位置地方法:indexOf   lastIndenxOf

            //一个参数的时候表示传值,返回索引的位置 (index从0开始)
            //var index = arr.indexOf(5);     //4
            //alert(index);
            //两个参数:第一个:起始位置,第二个参数:值
            //var index = arr.indexOf(4,4);
            //alert(index);
            //他们查找数组元素用‘===’;

            //lastIndexOf
            //var index = arr.lastIndexOf(2);
            //alert(index);

            //5个新增迭代的方法
            /**
             * 1 every:对数组的每一个元素进行函数的运行,
             * 如果都返回true,最后返回true,有一个返回false,最后返回false
             *
             回掉函数
            var result = arr.every(function(item,index,array){
                return items >0;   //数组元素是否都大于0
            });
            alert(result);

            */

            /**
             * 2 filter:对数组的每一项进行函数的运行,把过滤后的结果返回

            var result = arr.filter(function(item,index,array){
                return item >2;  //返回大于2的
            });
            alert(result);    //34543
            */
            //3 forEach:循环数组的每一项的值,并执行一个方法
            /*
            arr.forEach(function(item,index,array){
                alert(item);
            });
            */

            //4 map:对数组的每一项进行函数的运行,返回执行的结果,新的数组
            /*
            var result = arr.map(function(item,index,array){
                return item*3;        //把数组每一项*3,返回新的数组
            });
            alert(result);
            */
            //5 some:跟every相反,有一个返回true就返回true
            /*
            var result = arr.some(function(item,index,array){
                return item >=5;
            });
            alert(result);
            */

            //reduce  reduceRight
            //变量的起始位置不同
            //前一个值,当前值,索引值,array数组本身
            /*
            var result = arr.reduce(function(prev,cur,index,array){
                return prev + cur ;    //前一个值+当前值。求和25
            });
            alert(result);
            */

            var result = arr.reduceRight(function(prev,cur,index,array){
                return prev + cur ;    //前一个值+当前值。求和25
            });
            alert(result);
        </script>
    </head>
    <body>
    </body>
</html>
时间: 2024-10-05 06:44:04

javascript004_ECMA5数组新特性的相关文章

JavaScript_ECMA5数组新特性

var arr = [ 1, 2, 3, 4, 5, 4, 3, 2, 1 ]; 新加位置的方法: indexOf lastIndexOf1.1个参数的时候表示传值 返回索引位置(index从0开始)var index = arr.indexOf(4);alert(index); //3 2. 2个参数的时候 第一个参数表示起始位置 第二个参数还是值 var index = arr.indexOf(4,4);alert(index); //5 3.他们查找数组比较的时候 '==='  lastI

JavaScript1.6数组新特性和JQuery的几个工具方法

JavaScript 1.6 引入了几个新的Array 方法,具体的介绍见:New in JavaScript 1.6.这些方法已经被写进了ECMA262 V5.现代浏览器(IE9/Firefox/Safari/Chrome/Opera)都已经支持,但IE6/7/8不支持.jquery的工具方法中提供了类似的功能. 1.Array.forEach()和jquery的$().each().在数组中的每个项上运行一个函数.类似java5 增强的for循环. 1 2 3 4 5 6 7 8 9 var

JavaScript数组新特性

1 <!DOCTYPE html> 2 2 <html lang="en"> 3 3 <head> 4 4 <meta charset="UTF-8"> 5 5 <title>test1</title> 6 6 <script> 7 7 8 94 9 95 /* 10 96 11 97 every,some 前者是遍历数组中的每一个元素,并执行函数运行,如果有一个返回false则返回

es6数组新特性

数组循环属性:for,map,filter,foreach 结论:除了for,其他都不能通过return false,终止循环 代码 <!doctype html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalabl

NET Framework 4.5新特性 (三)64位平台支持大于2 GB大小的数组

64位平台.NET Framework数组限制不能超过2GB大小.这种限制对于需要使用到大型矩阵和向量计算的工作人员来说,是一个非常大问题. 无论RAM容量有多大有多少,一旦你使用大型矩阵和向量计算工作的时候,经常会抛出一个System.OutOfMemoryException异常,如下图所示: 参考程序 class Program { private static void Main(string[] args) { int arrysize = 150000000; var large=ne

JAVASE课程 第一章 第四讲方法,数组,java新特性

作用: 1.可以了解方法的申明和使用 2.可以了解数组的引用传递 3.可以了解java新特性对数组的支持 一 方法的申明和使用 1 方法的定义 方法就是一段可重复调用的代码块. 2 方法的定义格式 a public static 返回值类型 方法名称(类型参数1,类型参数2...){ 方法主体: 程序语句 [return 表达式;] } b 在本节定义的方法,因为其可以直接使用主方法调用,所以将方法声明处加上public static两个关键字 c 注意 1/ 如果返回值类型上写的是void,则

.NET 4新特性——数组、元组比较

==============================================数组自定义比较 ------------------------------------------------------------Person.cs  using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using Sys

C99标准的新特性

C语言标准的发展 C语言的发展历史大致上分为4个阶段:Old Style C.C89.C99和C11. C89是最早的C语言规范,于1989年提出,1990年先由ANSI(美国国家标准委员会,American National Standards Institute)推出ANSI版本,后来被接纳为ISO国际标准(ISO/IEC9899:1990),因而有时也称为C90,最经典的C语言教材[K&R]就是基于这个版本的,C89是目前最广泛采用的C语言标准,大多数编译器都完全支持C89,C99(ISO

【C++11】30分钟了解C++11新特性

作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 什么是C++11 C++11是曾经被叫做C++0x,是对目前C++语言的扩展和修正,C++11不仅包含核心语言的新机能,而且扩展了C++的标准程序库(STL),并入了大部分的C++ Technical Report 1(TR1)程序库(数学的特殊函数除外). C++11包括大量的新特性:包括lambda表达式,类型推导关键字auto.decl