js数组(二)
一、位置方法
indexOf()和laseIndexOf()
indexOf是从数组的第0项开始向后查找,没有找到返回-1,要求使用===
var numbers = [1,2,3,4,5,4,3,2,1];
alert(numbers.indexOf(4));//3
lastIndexOf是从数组的最后一项开始向前查找
var numbers = [1,2,3,4,5,4,3,2,1];
alert(numbers.lastIndexOf(4));//5
二、数组的判断方法
如果不支持ES5,一般IE低版本不支持,所以要用 Object.prototype.toString() 判断:
var a = [0, 1, 2];
alert(Object.prototype.toString.call(a) === '[object Array]'); // true
如果支持就用Array.isArray();
var a = [0, 1, 2];
alert(Array.isArray(a)); // true在IE8以下无效
三、迭代方法
1、every()
var numbers = [1,2,3,4,5];
var evertResult = numbers.every(function (item, index, array) {
return (item > 2);
});
alert(evertResult);//false;因为every()是如果函数每一项都返回true那么是true
2、some()
var numbers = [1,2,3,4,5];
var someResult = numbers.some(function (item, index, array) {
return (item > 2);
});
alert(someResult);//true;只要传入函数对数组有一项是true返回为true;
3、filter()
var numbers = [1,2,3,4,5];
var filterResult = numbers.filter(function (item, index, array) {
return (item > 2);
});
alert(filterResult);//3,4,5;指定的函数确定是否在返回的数组中包含的某一项;
4、map()
var numbers = [1,2,3,4,5];
var mapResult = numbers.map(function (item, index, array) {
return item * 2;
});
alert(mapResult);//2,4,6,8,10;指定的函数确定是否在返回的数组中包含的某一项;
5、forEach()
var numbers = [1,2,3,4,5];
numbers.forEach(function (item, index, array) { alert(numbers);//1,2,3,4,5执行五次
alert(item*numbers.length);//5,10,15,20,25(1*5,2*5,3*5,4*5,5*5)
});
四、缩小
var values = [1,2,3,4,5];
var sum = values.reduce(function(prev,cur,index,array) {
return prev + cur;
});
alert(sum);//15
js数组(二)的更多相关文章
- JS数组 二维数组 二维数组的表示 方法一: myarray[ ][ ];方法二:var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3, ]]
二维数组 一维数组,我们看成一组盒子,每个盒子只能放一个内容. 一维数组的表示: myarray[ ] 二维数组,我们看成一组盒子,不过每个盒子里还可以放多个盒子. 二维数组的表示: myarray[ ...
- 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)
目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...
- JS的二维数组
今天,记录一下JS的二位数组,并附上例题. 一.二维数组的本质:数组中的元素又是数组. 其实,我们都见过这样的二维数组,只不过没在意罢了,例如: var arr = [[1,2,4,6],[2,4,7 ...
- js数组去重的4种方法
js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...
- js数组操作
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...
- js数组操作【转载】
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵 ...
- JS 数组的基础知识
数组 一.定义 1.数组的文字定义 广义上说,数组是相同类型数据的集合.但是对于强类型语言和弱类型语言来说其特点是不一样的.强类型语言数组和集合有以下特点. 数组强类型语言:1.数组里面只能存放相同数 ...
- js数组的声明与应用
js数组的声明与应用 数组:一种容器,存储批量数据.JavaScript是一种弱类型语言.什么是弱类型,就是变量可以存储多种类型变量的引用不会报错.所以js数组可以存储不同的数据. 一.数组的作用:只 ...
- js数组的操作 【转】
用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...
- js数组的操作及数组与字符串的相互转化
数组与字符串的相互转化 <script type="text/javascript">var obj="new1abcdefg".replace(/ ...
随机推荐
- cocoapods导入第三方库
1.移除现有Ruby默认源 终端:gem sources --remove https://rubygems.org/ 2.使用新的源 终端:gem sources -a https://ruby.t ...
- AFNetworking之多图片-文件上传
在分享经验之前,先说点题外话,之前的一个项目涉及到了多图片的上传,本来以为是一个很简单的事情,却着实困扰了我好久,究其原因,一是我不够细心,二是与后台人员的交流不够充分.在此,我想将我的老师常说的一句 ...
- PHP基础之 define() 函数
定义和用法 define() 函数定义一个常量. 常量类似变量,不同之处在于: 在设定以后,常量的值无法更改 常量名不需要开头的美元符号 ($) 作用域不影响对常量的访问 常量值只能是字符串或数字 语 ...
- HDU 1151 - Air Raid
很明显求最小路径覆盖 就是求最大匹配 #include <iostream> #include <cstdio> #include <cstring> #inclu ...
- queue 之团队队列(摘)
有t个团队的人正在排一个长队.每次新来一个人时,如果他有队友在排队,那么这个新人会插队到最后一个队友的身后.如果没有任何一个队友排队,则他会排到长队的队尾. 输入每个团队中所有队员的编号,要求支持如下 ...
- E - The King
Description Once upon a time in a country far away lived a king and he had a big kingdom. He was a v ...
- Hadoop学习之常用命令
HADOOP基本操作命令 在这篇文章中,我们默认认为Hadoop环境已经由运维人员配置好直接可以使用. 假设Hadoop的安装目录HADOOP_HOME为/home/admin/hadoop. 启动与 ...
- MYSQL while 、repeat
前期准备: createt table employee(ID int ,Name varchar(4)); 用下列方法向表中循环插入数据. ----------------------------- ...
- MySQL 指定数据库字符集的 3 种方法。
方法 1.创建数据库时指定字符集. create database Studio character set utf8; 方法 2.创建表的时候针对列指定字符集. create table T( x ...
- 如何设置 Internal 类,方法,属性对其他项目可见
internal 修饰符时程序集内部其他类可见.但对程序集外的类不可见,这样就很好的封装了可见性. 但是,我们也许会碰到类似的情况,特别是基于已有代码开发新的代码时,你会发现很多 internal 的 ...