ECMAScript5之Array
在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的更多相关文章
- ECMAScript5下Array的方法
声明:ECMAScript不会兼容IE8及以下版本IE浏览器. 一.迭代方法 注:这些迭代方法不会影响数组的值. 每个方法都有两个参数: array.方法(执行函数体,当前作用域(比如this,这个可 ...
- 如何判断一个变量是数组Array类型
在很多时候,我们都需要对一个变量进行数组类型的判断.JavaScript中如何判断一个变量是数组Array类型呢?我最近研究了一下,并分享给大家,希望能对大家有所帮助. JavaScript中检测对象 ...
- Javascript Array 非常用方法解析
在ECMAScript5的Array中已经有了Array.prototype.forEach,Array.prototype.filter,Array.prototype.map等方法 1. map ...
- js数组操作总结
1.数组的检测 ECMAScript3 if(value instanceof Array){ //执行操作 } 假定单一全局环境,如果网页存在多个框架,多个window,Array具有不 ...
- 读《编写可维护的JavaScript》第八章总结
第八章 避免“空比较” 我们在对传进来的参数做处理之前,肯定需要验证一下是否是我们想要的,也就是说大多数情况下,我们需要对比一下它的类型. 作者首先给了一个看起来都感觉不对的代码: var Contr ...
- 第七章:Javascript数组
数组是值的有序结合.每个值叫做一个元素,而每个元素在数组中都有一个位置,用数字表示,称为索引. javascript数组是无类型的:数组的元素可以是任意类型,并且同一个数组中的不同元素也可能有不同的类 ...
- javascript的几个问题
基础 1. 可选的分号 只有在缺少了分号就无法正确解析代码的时候,javascript,才会在一行的最后自动添加; a = 3 //自动填充 b = 4; var a a = 3 console.lo ...
- js判断一个变量是否为数组的解决方案
前端开发中,在做项目的时候,我们经常需要对一个变量进行数组类型的判断,当然即使你暂时没遇到,但是这个问题也是大家去面试时的高频问题,有必要拿出来说一说. 大家都知道js中可以使用typeof来判断变量 ...
- JavaScript检测原始值、引用值、属性
上周写过一篇读书笔记<编写可维护的JavaScript>之编程实践,其中 第8章 避免『空比较』是博主在工作中遇坑较多的雷区,所以特此把该章节重新整理分享,希望大家不再坑队友(>﹏& ...
随机推荐
- Linux上的free命令详解、swap机制
Linux上的free命令详解 解释一下Linux上free命令的输出. 下面是free的运行结果,一共有4行.为了方便说明,我加上了列号.这样可以把free的输出看成一个二维数组FO(Free ...
- C# 完整List例子
C# List Following examples show how to create and manipulate with .NET strongly typed list List<T ...
- Txt格式配置表无法解析的问题——BOM
今天再次遇到同一个问题:策划给来一个Txt格式配置表,我用解析类去读取,返回的结果为空.解析类参数是:主键key,文件名fileName,错误提示errorTip. 写读取语句的时候,主键key我是直 ...
- Odoo 二次开发教程(四)-只读、唯一性验证和ORM方法介绍
一.只读和唯一性验证 只读的设置有两种方法,一种是实在字段定义时设置为只读,第二种是在页面视图中进行设置. 接前例,我们将学生(tech.student)的名字name字段设置成只读. 方法一:字段定 ...
- php中htmlspecialchars()函数和addslashes()函数的使用和区别
在防止被注入攻击时,常会用到两个函数:htmlspecialchars()和addslashes()函数.这两个函数都是对特殊字符进行转义. 1)addslashes()作用及使用 addslashe ...
- 工作总结_JS_1
获取点击下的相对应的div: $('> div', this).show(); 本身同级下的相对应的div: $('>div[name=vv]', $(this).siblings(& ...
- Win7网上邻居提示未授予用户在此计算机上的请求登录类型解决办法
内容简介 装了Win7之后很多人遇到这样的问题,网上邻居访问Win7的电脑时出现“未授予用户在此计算机上的请求登录类型”问题.打开“控制面板”--“管理工具”--“本地安全策略”--“本地策略 ...
- Java实现列出目录下所有文件和文件夹
package com.filetest; import java.io.File; import java.util.Scanner; public class fileview { public ...
- 使用Junit等工具进行单元测试
一.类的定义: 类是同一事物的总称,类是封装对象的属性和行为的载体,反过来说具有相同属性和行为的一类实体被称为类. 二.Junit工具的使用: 1.首先新建一个项目叫JUnit_Test,我们编写一个 ...
- CSDN:你认为一名优秀的技术人应该具备怎样的素质?
CSDN:你认为一名优秀的技术人应该具备怎样的素质? 王晶昱:我个人认为,符合这个世界要求的就是优秀的.在目前这个时代,我认为一个优秀的技术人员的特质可能是: 兴趣驱动,兴趣是最好的老师,写程序本身就 ...