文档章节

5_引用类型(【二】ECMA5数组新特性)

1217528969
 1217528969
发布于 2015/02/28 16:06
字数 591
阅读 16
收藏 1

对于ECMAscript5这个版本的Array新特性补充:
位置方法:indexOf    lastIndexOf

var arr = [1, 2, 3, 4, 5, 4, 3, 2, 1];
//查找元素位置的方法 indexOf() lastIndexOf() 在查找元素时使用===符比较
//indexOf()方法参数:
//一个参数:表示在数组中查找的元素值
//两个参数: 第一个参数表示起始位置,第二个参数表示查找的元素值
var index = arr.indexOf(4);
console.info(index); // 3
var index = arr.indexOf(4, 4);
console.info(index); // 5
var index = arr.lastIndexOf(2);
console.info(index); // 7

迭代方法:every    filter    forEach    some    map

var arr = [1, 2, 3, 4, 5, 4, 3, 2, 1];
//五个新加迭代的方法
//every filter forEach map some 所有方法都不修改原数组
//每个方法都需要传递回调函数callback,回调函数的参数有三个:
//  item:当前项
//  index:当前项的索引位置
//  array:数组本身
//every:对于数组的每一个元素进行一个函数的运算,如果每一项都返回true,最终结果返回true;
//如果有一个返回false,最终结果返回false
var result = arr.every(function(item, index, array) {
    if(item > 2){
        return true;
    }
})
console.info(result); 
//filter:对于数组的每一个元素进行一个函数的运算,把过滤后的结果返回一个新的数组
 var result = arr.filter(function(item, index, array) {
    if(item > 2){
        return true;
    }
})
console.info(result);  
//forEach:循环数组中每一项的值并执行一个方法,没有返回值
arr.forEach(function(item, index, array) {
    console.info(item);
}) 
//map:对于数组的每一个元素进行一个函数的运行,可以经过函数执行完毕后把新的结果返回
var result = arr.map(function(item, index, array) {
     return item * 2;
})
console.info(result); 
//some:对于数组每一个元素进行一个函数的运行,如果有一项返回true最终返回true;
//如果每一项都返回false,最终返回false
var result = arr.some(function(item, index, array) {
     return item >= 5;
})
console.info(result);

缩小方法:reduce    reduceRight

var arr = [1, 2, 3, 4, 5, 4, 3, 2, 1];
//reduce reduceRight
//对数组元素值进行计算,返回最后一次计算的值。
//通过回调函数callback把数组中的值运算为一个结果值
//回调函数参数
//    pre:前一个值
//    current:当前值
//    index:索引值
//    array:数组本身
 
var result = arr.reduce(function(prev, current, index, array) {
    return prev + current;
});
console.info(result);
var result = arr.reduceRight(function(prev, current, index, array) {
    return prev + current;
});
console.info(result);

© 著作权归作者所有

共有 人打赏支持
1217528969
粉丝 1
博文 27
码字总数 14810
作品 0
济南
JS中的forEach、$.each、map方法

forEach是ECMA5中Array新方法中最基本的一个,就是遍历,循环。例如下面这个例子: [1, 2 ,3, 4].forEach(alert); 等同于下面这个for循环 1 var array = [1, 2, 3, 4];2 for (var k = 0, len...

胡雨生
06/26
0
0
ES5_6_7(1)——ES5

1. ECMA简述 ECMA是脚本语言规范,是由ECMA国际组织制定和发布的脚本语言规范。而 JavaScript 就是其规范的一种实现。当然了,类似的还有其它脚本语言。但习惯性的把术语 ECMAScript 和 Java...

1160636144
2017/01/07
0
0
【面试笔记】js面试25题笔记

自测链接>> 在js25题、js21题或者js85题测验你的知识掌握。 js25题笔记 1. 使用 可能遇到的陷阱和解决方法 在 JavaScript 里使用 typeof 来判断数据类型,只能区分基本类型,即 “number”,...

JSAL
2016/08/13
85
0
关注C++细节——C++11新标准之decltype的使用注意

c++11新特性——decltype decltype是C++11添加的一个新的关键字,目的是选择并返回操作数的数据类型,重要的是,在此过程中编译器分析表达式并得到它的类型,却不实际计算表达式的值。 对于内...

iaccepted
2014/05/31
0
0
引用类型对象拷贝

1. JavaScript引用类型有哪些?非引用类型有哪些? 引用类型: 对象、数组、函数、正则表达式,指保存在堆内存中的对象,变量中保存的实际上是一个指针,这个指针指向内存中的另一个位置,由...

熊蛋子17
2017/12/06
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

异步化,高并发大杀器

今天来聊聊如何让项目异步化的一些事。 在进入正文之前,顺便给大家推荐一个Java架构方面的交流学习群:698581634,里面会分享一些资深架构师录制的视频录像:有Spring,MyBatis,Netty源码分...

Java大蜗牛
15分钟前
0
0
织梦dedecms安全设置

网站本身做好防范: 1、修改默认后台名。 打开网站根目录,找到[dede],这个文件夹就是后台的路径,可以随意修改,比如修改为[adminbuy],此时后台登陆的路径为:http://www.*****.com/admi...

雨季2014
15分钟前
0
0
完美Python入门基础知识点总结,看完你的Python就完全入门了!

Python标识符 在 Python 里,标识符有字母、数字、下划线组成。 在 Python 中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。 Python 中的标识符是区分大小写的。 以下划线...

糖宝lsh
21分钟前
0
0
Java关于前后台传输中文乱码以及Excel下载乱码解决

针对乱码,一般情况是前后台以及中间件编码格式不同导致.故需要保证编码格式相同即可. 1.前台页面格式指定,这里用的是jsp,故需要将pageEncoding指定为"UTF-8" 2.指定服务器编码格式,比如用的t...

勤奋的蚂蚁
23分钟前
0
0
Flutter组件 - Flexible

Flexible是一个控制Row、Column、Flex等子组件如何布局的组件。 Flexible组件可以使Row、Column、Flex等子组件在主轴方向有填充可用空间的能力(例如,Row在水平方向,Column在垂直方向),但是...

一箭落旄头
27分钟前
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部