在ECMAScript5中对Array新增的些方法,以前没注意的同志们,嘻嘻,下面我们一起来边看边学。

1、Array之isArray(element)

看到isArray,不言而喻,就是判断一个对象是不是数组哈。

且它是一个静态方法,使用规则如下:

Array.isArray(element);当element是数组时,返回true;否则返回false;

我们一起来写个demo

<!DOCTYPE html>
<head>
<title>array</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<script>
//创建一个数组a和一个对象b
var a = new Array();
var b = new Object();
console.log(Array.isArray(a));
console.log(Array.isArray(b));
</script>
</body>
</html> 

通过chrome来看看打印结果

2、Array之indexOf(element)

看到indexOf,想必大家并不陌生,String.indexOf嘛,其实核心作用都一样.

数组的indexOf就是从头到尾,查找数组内的指定元素,并返回查找到的第一个元素索引值,若在数组中没有相应元素,则返回-1

我们一起来写个demo并通过chrome来看看打印结果

<!DOCTYPE html>
<head>
<title>indexOf</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<script>
//创建一个数组a
var a =new Array(1,2,3,4,5,1);
//从数组a的值中可以看出,打印结果为0
console.log(a.indexOf(1));
//从数组a的值中可以看出,打印结果为-1
console.log(a.indexOf(6));
</script>
</body>
</html>

3、Array之lastIndexOf(element)

这个lastIndexOf,其实和上面所说的indexOf差不多,只是lastIndexOf是从尾到头搜索而已。

我们一起来写个demo并通过chrome来看看打印结果

<!DOCTYPE html>
<head>
<title>lastIndexOf</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<script>
var a = new Array(1,2,3,4,5,1);
//因为lastIndexOf是从尾到头搜索,所以打印结果为5
console.log(a.lastIndexOf(1));
//从上面的结果看,打印结果为1
console.log(a.lastIndexOf(2));
</script>
</body>
</html>

4、Array之every

every用法如下:

/*
method: every
function: every的作用就是遍历数组,当every中的函数都返回true时,才返回一个true;否则,只要有一个false,就返回false,和&&运算差不多
Param:
element --> 当前元素
index --> 元素索引
array --> 调用every方法的数组
*/
every(function(element,index,array){ });

我们demo下

<!DOCTYPE html>
<head>
<title>every</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<script>
var a = new Array(1,2,3,4,5);
//因为我是判定的e < 3,所以根据a的值,可以知道返回false
console.log( a.every(function(e,i,arr){
return e < 3;
}) );
//因为我是判定的e < 6,所以根据a的值,可以知道返回true
console.log( a.every(function(e,i,arr){
return e < 6;
}) );
</script>
</body>
</html>

5、Array之some

some的作用与上面的every有点不一样,倘若说every有点像&&运算,那么some就有点像||运算啦。some的函数中只要有一个返回true,那么就返回 true;全都是false时,才返回false

Demo如下

<!DOCTYPE html>
<head>
<title>some</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<script>
var a = new Array(1,2,3,4,5);
//因为e>4,只有一个5满足,但是已经足够了
console.log( a.some(function(e,i,arr){
return e > 4;
}) );
</script>
</body>
</html>

6、Array之forEach

这个方法与jQuery的each差不多,就是遍历数组的。

使用如下:

 /*
Param:
e --> 当前元素
i --> 元素索引
array --> 调用forEach方法的数组
*/
forEach(function(e,i,array){ }); 

Demo如下:

<!DOCTYPE html>
<head>
<title>forEach</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<script>
var a = new Array(1,2,3,4,5);
a.forEach(function(e,i,array){
console.log(e);
});
</script>
</body>
</html>

7、Array之filter

filter方法的作用就是遍历数组,并过滤数组中的值,最后返回过滤后的值的数组。当filter里的回调函数返回true时,就将这个值加入到临时数组中,若是false,则不加入;最后返回这个临时数组。

filter的用法如下:

//参数e为遍历数组中的当前元素值
filter(function(e){ });

Demo与代码如下:

<!DOCTYPE html>
<head>
<title>filter</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
</head>
<body>
<script>
var a = new Array(1,2,3,4,5);
var b = a.filter(function(e){
return e%2==0;
});
console.log('原值a:'+a);
console.log('filter后的值:'+b);
</script>
</body>
</html>

ECMAScript5之Array的更多相关文章

  1. ECMAScript5下Array的方法

    声明:ECMAScript不会兼容IE8及以下版本IE浏览器. 一.迭代方法 注:这些迭代方法不会影响数组的值. 每个方法都有两个参数: array.方法(执行函数体,当前作用域(比如this,这个可 ...

  2. 如何判断一个变量是数组Array类型

    在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象 ...

  3. Javascript Array 非常用方法解析

    在ECMAScript5的Array中已经有了Array.prototype.forEach,Array.prototype.filter,Array.prototype.map等方法 1. map ...

  4. js数组操作总结

    1.数组的检测 ECMAScript3    if(value instanceof Array){ //执行操作 }    假定单一全局环境,如果网页存在多个框架,多个window,Array具有不 ...

  5. 读《编写可维护的JavaScript》第八章总结

    第八章 避免“空比较” 我们在对传进来的参数做处理之前,肯定需要验证一下是否是我们想要的,也就是说大多数情况下,我们需要对比一下它的类型. 作者首先给了一个看起来都感觉不对的代码: var Contr ...

  6. 第七章:Javascript数组

    数组是值的有序结合.每个值叫做一个元素,而每个元素在数组中都有一个位置,用数字表示,称为索引. javascript数组是无类型的:数组的元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类 ...

  7. javascript的几个问题

    基础 1. 可选的分号 只有在缺少了分号就无法正确解析代码的时候,javascript,才会在一行的最后自动添加; a = 3 //自动填充 b = 4; var a a = 3 console.lo ...

  8. js判断一个变量是否为数组的解决方案

    前端开发中,在做项目的时候,我们经常需要对一个变量进行数组类型的判断,当然即使你暂时没遇到,但是这个问题也是大家去面试时的高频问题,有必要拿出来说一说. 大家都知道js中可以使用typeof来判断变量 ...

  9. JavaScript检测原始值、引用值、属性

    上周写过一篇读书笔记<编写可维护的JavaScript>之编程实践,其中 第8章 避免『空比较』是博主在工作中遇坑较多的雷区,所以特此把该章节重新整理分享,希望大家不再坑队友(>﹏& ...

随机推荐

  1. VMware创建Linux虚拟机并安装CentOS(一)

    在VMware中新建虚拟机,在新建虚拟机向导中,选择“自定义(高级)”选项,鼠标单击“继续”按钮 选择VMware的版本workstation9.0(VMware版本对硬盘.内存.cpu等硬件的支持大 ...

  2. Devexpress Ribbon

    http://www.cnblogs.com/liwei81730/archive/2011/12/21/2296203.html 可查看此处.

  3. Javascript外部对象

    Window 浏览器: - location:地址 - history:历史 - Document:文档 - screen:窗口 - navigator:帮助 > 1.外部对象就是浏览器提供的A ...

  4. H5 表单

    伴随着互联网富应用以及移动开发的兴起,传统的Web表单已经越来越不能满足开发的需求,HTML5在Web表单方向也做了很大的改进,如拾色器.日期/时间组件等,使表单处理更加高效. 1.1新增表单类型 - ...

  5. Struts2登录小例子

    前面实现了一个数据显示的例子,下面我来实现以下使用Struts2登录 首先是配置不用过多解释 注意名字要和类名保持一致 因为实现的是action这个方法所以需要用action.log来跳转到类里面 解 ...

  6. ajax知识整理

    HTTP服务 1.服务器 服务器类型 服务类型:文件服务器.数据库服务器.邮件服务器.Web服务器等: 操作系统:Linux服务器.Windows服务器等: 应用软件:Apache服务器.Nginx ...

  7. linux 实践2.2 编译模块

    1.  理解模块原理 linux模块是一些可以作为独立程序来编译的函数和数据类型的集合.之所以提供模块机制,是因为Linux本身是一个单内核.单内核由于所有内容都集成在一起,效率很高,但可扩展性和可维 ...

  8. Third Day:正式编程第三天,学习实践内容TextView跑马灯、AutoCompleteTextView、multiAutoCompleteTextView以及ToggleButton、checkedBox、RadioButton等相关实践

    2.针对Focused的TextView跑马灯(文字较多一行无法显示)效果 针对单个TextView的跑马灯效果,可直接在TextView控件参数中添加三个属性: android:singleLine ...

  9. 解读ASP.NET 5 & MVC6系列(6):Middleware详解

    在第1章项目结构分析中,我们提到Startup.cs作为整个程序的入口点,等同于传统的Global.asax文件,即:用于初始化系统级的信息(例如,MVC中的路由配置).本章我们就来一一分析,在这里如 ...

  10. Tomcat无故自动退出的问题

    我在这篇文章<写一个脚本,自动启动Tomcat>中提到Tomcat会无缘无故退出,而且在日志中找不到原因.后来终于知道为什么了: 由于内存不足,被OOM Killer杀死的!由于是直接被系 ...