文档章节

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

没有更多内容

加载失败,请刷新页面

加载更多

深入解析MySQL视图VIEW

Q:什么是视图?视图是干什么用的? A:视图(view)是一种虚拟存在的表,是一个逻辑表,本身并不包含数据。作为一个select语句保存在数据字典中的。   通过视图,可以展现基表的部分数据;...

IT--小哥
38分钟前
1
0
虚拟机学习之二:垃圾收集器和内存分配策略

1.对象是否可回收 1.1引用计数算法 引用计数算法:给对象中添加一个引用计数器,每当有一个地方引用它时,计数器值就加1;当引用失效时,计数器值就减1;任何时候计数器值为0的对象就是不可能...

贾峰uk
48分钟前
1
0
smart-doc功能使用介绍

smart-doc从8月份底开始开源发布到目前为止已经迭代了几个版本。在这里非常感谢那些敢于用smart-doc去做尝试并积极提出建议的社区用户。因此决定在本博客中重要说明下smart-doc的功能,包括使...

上官胡闹
昨天
9
0
JavaEE——Junit

声明:本栏目所使用的素材都是凯哥学堂VIP学员所写,学员有权匿名,对文章有最终解释权;凯哥学堂旨在促进VIP学员互相学习的基础上公开笔记。 Junit Junit又名单元测试,Junit是用来测试Jav...

凯哥学堂
昨天
6
0
读《美丽新世界》

一、背景 十一国庆节从重庆回深圳的时候,做得绿皮车,路上看了两本书:李笑来的《韭菜的自我修养》和禁书《美丽新世界》。 上篇文章已经分享了 读《韭菜的自我修养》,这篇文章来记录一下《...

tiankonguse
昨天
4
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部