JavaScript_ECMA5数组新特性

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


新加位置的方法: indexOf lastIndexOf
1.1个参数的时候表示传值 返回索引位置(index从0开始)
var index = arr.indexOf(4);
alert(index); //3

2. 2个参数的时候 第一个参数表示起始位置 第二个参数还是值 
var index = arr.indexOf(4,4);
alert(index); //5

3.他们查找数组比较的时候 ‘===‘
 lastIndexOf 
var index = arr.lastIndexOf(2);
alert(index); //7

5个新加迭代的方法

1.every :对于数组每一个元素进行一个函数的运行 如果都返回true 最后则返回true 如果有一个返回false最后结果则返回false

var result = arr.every(function(item , index , array){
  return item >= 1 ;
  });
alert(result); //true

2.filter :对于数组的每一个元素进行一个函数的运行 给定的函数去执行 把过滤后的结果返回 
 var result = arr.filter(function(item , index , array){
return item > 2 ;
});
alert(result); //3,4,5,4,3

3.forEach :循环数组每一项的值 并执行一个方法 
 arr.forEach(function(item, index, array){
  alert(item); //1,2,3,4,5,4,3,2,1
});

4.map 对于数组的每一个元素进行一个函数的运行 可以经过函数执行完毕后 把新的结果返回
var result = arr.map(function(item, index, array){
  return item*10;
});
alert(result); //10,20,30,40,50,40,30,20,10

5.some :对于数组每一个元素进行一个函数的运行 如果有一项返回true 最后则返回true 如果每一项都返回false最后结果则返回false
var result = arr.some(function(item, index, array){
  return item >5 ;
});
alert(result); //false 

reduce reduceRight
变量的起始位置不同

前一个值 , 当前值 , 索引位置 , array
var result = arr.reduce(function(prev , cur , index , array){
  return prev + cur ;
});
alert(result) //25;

var result = arr.reduceRight(function(prev , cur , index , array){
  return prev + cur ;
});
alert(result) //25;

时间: 2024-08-15 01:17:01

JavaScript_ECMA5数组新特性的相关文章

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"> <

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