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章 避免『空比较』是博主在工作中遇坑较多的雷区,所以特此把该章节重新整理分享,希望大家不再坑队友(>﹏& ...
随机推荐
- jquery-lazyload延迟加载图片
下载地址:https://github.com/tuupola/jquery_lazyload用法:头部引用<script src="jquery.js" type=&quo ...
- ESLint 规则
ESLint由 JavaScript 红宝书 作者 Nicholas C.Zakas 编写, 2013 年发布第一个版本. ESLint是一个以可扩展.每条规则独立的,被设计为完全可配置的lint工具 ...
- JAligner的一个坑
JAligner是一个集成多个罚分矩阵的蛋白质序列比对工具包,提供充足的API供开发人员调用. 但是,不可否认的是,它的结构写得不够规范.以前我是将它放在普通的Java项目里使用,没有问题.但是,今天 ...
- Xilinx下载安装与在win10闪退问题解决方法
Xilinx的14.4版本的下载链接(百度云的上传了N多次都提示失败,所以就换了360云盘上传) https://yunpan.cn/cPHKLjbX9RueM (提取码:2a5a)下载后解压到以下目 ...
- *CF2.D(哥德巴赫猜想)
D. Taxes time limit per test 2 seconds memory limit per test 256 megabytes input standard input outp ...
- SQL语句操作数据与一些函数使用的丰富数据库
数据库有多重要,其实不用我说,但该怎么运用好数据库下SQL语句与其它的如“函数”等等,那就需要我们大家多多去练习并总结其中的窍门,或许你的总结没那么好,担只要你的练习足够多,就算那不是窍门,那也将是你 ...
- laravel中如何防止直接访问.env文件
.env文件含有数据库账号密码等敏感数据,在laravel5.2中,在本地访问127.0.0.1/laravel/.env可直接访问到.env. 为避免.env被直接访问,可使用重定向,方法如下: 在 ...
- MySQL5.6 GTID新特性实践
MySQL5.6 GTID新特性实践 GTID简介 搭建 实验一:如果slave所需要事务对应的GTID在master上已经被purge了 实验二:忽略purged的部分,强行同步 本文将简单介绍基于 ...
- 关于Map集合
Map接口实现Collection接口,是集合三大接口之一. Map接口在声明:public interface Map<K,V>;将键映射到值的对象,一个映射不能包含重复的键,每个键最多 ...
- 用Fmx调用Bass.dll
先上图 帮亲戚做个小软件,选用FMX,因为画面不会像vcl那样在图片多的时候闪烁.还能添加动画 但是MediaPlayer播放音乐视频真是不给力,视频没想到好办法.音频方面想到之前万一的Bass.ll ...