详解javascript,ES5标准中新增的几种高效Array操作方法
1、js中常用的数组Array对象属性:
如图,其中用红色圆圈标记的部分,为ES5新增的属性。

2、浏览器支持情况:
- IE:9+;
- Chrome;
- Firefox2+;
- Safari 3+;
- Opera 9.5+;
3、位置方法
var numbers = [,,,,,,,,];
alert(numbers.indexOf()); //
alert(number.lastIndexOf()); //
alert(number.indexOf(,)); //
alert(number.lastIndexOf(,)); //3
4、迭代方法
ECMAScript5为数组定义了5个迭代方法。
4.1、every()
定义和用法:every() 方法用于检测数组所有元素是否都符合指定条件(通过函数提供)。
every() 方法使用指定函数检测数组中的所有元素:
- 如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
- 如果所有元素都满足条件,则返回 true。
注意: every() 不会对空数组进行检测。
注意: every() 不会改变原始数组。
描述:检测数组 ages 的所有元素是否都大于 18 :
var ages = [, , , ];
function checkAdult(age) {
return age >= ;
}
function myFunction() {
document.getElementById("demo").innerHTML = ages.every(checkAdult);
}
结果为:
false;
4.2、some()
定义和用法:some() 方法用于检测数组中的元素是否满足指定条件(函数提供)。
对数组中的每一项运行给定的函数,如果该函数对任一项都返回true,则返回true;
代码如下:
var numbers = [,,,,,,,,];
var someResult = numbers.some(function(item,index,array){//item指代数组值;index指代数组下标;array指代数组本身;
return (item>);
});
alert(someResult);
结果为:
true;
4.3、filter()
var numbers = [,,,,,,,,];
var filterResult = numbers.filter(function(item,index,array){//item指代数组值;index指代数组下标;array指代数组本身;
return (item>);
});
alert(filterResult );
结果为:
[,,,,]
4.4、map()
var numbers = [,,,,,,,,];
var mapResult = numbers.map(function(item,index,array){//item指代数组值;index指代数组下标;array指代数组本身;
return item*;
});
alert(mapResult );
结果为:
[,,,,,,,,]
4.5、forEach()
var numbers = [,,,];
numbers.forEach(function(item,index,array){
console.log(item);
});
结果为:
5、缩小方法
var values = [,,,,];
var sum =values.reduce(function(prev,cur,index,array){
return prev+cur;
});
alert(sum);
结果为:
详解javascript,ES5标准中新增的几种高效Array操作方法的更多相关文章
- 详解javascript,ES5标准中新增的几种高效Object操作方法
1.Object 对象 (JavaScript) 提供对所有 JavaScript 对象通用的功能.参考网站:https://msdn.microsoft.com/zh-cn/library/kb6t ...
- 详解JavaScript数组过滤相同元素的5种方法
详解JavaScript数组过滤相同元素的5种方法:https://www.jb51.net/article/114490.htm
- 【转】详解JavaScript中的this
ref:http://blog.jobbole.com/39305/ 来源:foocoder 详解JavaScript中的this JavaScript中的this总是让人迷惑,应该是js众所周知的坑 ...
- (转载)详解Javascript中prototype属性(推荐)
在典型的面向对象的语言中,如java,都存在类(class)的概念,类就是对象的模板,对象就是类的实例.但是在Javascript语言体系中,是不存在类(Class)的概念的,javascript中不 ...
- 详解 javascript中offsetleft属性的用法(转)
详解 javascript中offsetleft属性的用法 转载 2015-11-11 投稿:mrr 我要评论 本章节通过代码实例介绍一下offsetleft属性的用法,需要的朋友可以做一 ...
- 详解javascript中的this对象
详解javascript中的this对象 前言 Javascript是一门基于对象的动态语言,也就是说,所有东西都是对象,一个很典型的例子就是函数也被视为普通的对象.Javascript可以通过一定的 ...
- js对象详解(JavaScript对象深度剖析,深度理解js对象)
js对象详解(JavaScript对象深度剖析,深度理解js对象) 这算是酝酿很久的一篇文章了. JavaScript作为一个基于对象(没有类的概念)的语言,从入门到精通到放弃一直会被对象这个问题围绕 ...
- 详解javascript的类
前言 生活有度,人生添寿. 原文地址:详解javascript的类 博主博客地址:Damonare的个人博客 Javascript从当初的一个"弹窗语言",一步步发展成为现在前后端 ...
- 详解Javascript的继承实现(二)
上文<详解Javascript的继承实现>介绍了一个通用的继承库,基于该库,可以快速构建带继承关系和静态成员的javascript类,好使用也好理解,额外的好处是,如果所有类都用这种库来构 ...
随机推荐
- EventBus简单的实现
EventBus是最近项目用到的,也只是会些简单的功能,不过感觉功能蛮强大的.代码链接:http://download.csdn.net/detail/qq_29774291/9629346 Even ...
- RSA加密解密(python版)
RSA的算法涉及三个参数,n.e.d. 其中,n是两个大质数p.q的积,n的二进制表示时所占用的位数,就是所谓的密钥长度. e1和d是一对相关的值,e可以任意取,但要求e与(p-1)*(q-1)互质: ...
- 【FOL】第二周
一直在忙其他事情,停了好久了.终于又可以开始做点东西了. 这周主要工作: 1.整理客户端代码,加入网络模块:fol.client.net. 2.写了个简单的版本服务端程序. 3.初步完成了自动更新功能 ...
- windows / linux系统中,端口被占用解决方法
一.在windows操作系统中,查询端口占用和清除端口占用的程序 提升权限后用:netstat -b或用 1.查询端口占用的进程ID 点击"开始"-->"运行&qu ...
- C# Unicode编码
为了避免在浏览器中传输数据的时候出现中文乱码,我们可以将内容进行URL编码,当然也可以将内容进行UNICODE编码.将汉字进行UNICODE编码,如:"王"编码后就成了" ...
- ADO.NET(数据访问技术)
简单的说,C#已经内置了一些类,我们可以利用这些类来访问数据库.在这里,我们假设读者已经熟悉SqlServer数据库或者其它数据库(我以后也会补上相关内容).我们如何来实现这项技术呢?大致可以分为三个 ...
- java集合-集合大家族
在编写 Java 程序中,我们最常用的除了八种基本数据类型,String 对象外还有一个集合类,在我们的的程序中到处充斥着集合类的身影!Java 中集合大家族的成员实在是太丰富了,有常用的 Array ...
- JBox - 模态窗口,工具提示和消息 jQuery 插件
jBox 是一个强大而灵活的 jQuery 插件,可以帮助实现模态窗口,工具提示,通知和更多的功能.你可以使用 jQuery 选择器轻松地添加工具提示效果到元素上,您可以以同样的方式设置模态窗口.该库 ...
- Droidicon – 1600+ 漂亮的 Android 图标
Droidicon 提供超过1600款定制图标,让你可以超级容易的把图标和徽章添加到您的应用程序中.你可以自定义你想要的各种形式的图标,给图标添加描边,透明度和颜色过滤器.包括这些 Google Ma ...
- Python的下载与安装
linux系统由于自身的需要,自带了Python,而Windows的系统就没有自带Python.本篇Blog介绍在win8.1下,安装Pathon需要注意的问题,包括常见的0x80240017.250 ...