一、位置方法

indexOf()和laseIndexOf()

indexOf是从数组的第0项开始向后查找,没有找到返回-1,要求使用===

  1. var numbers = [1,2,3,4,5,4,3,2,1];
  2. alert(numbers.indexOf(4));//3

  lastIndexOf是从数组的最后一项开始向前查找

  1. var numbers = [1,2,3,4,5,4,3,2,1];
  2.  
  3. alert(numbers.lastIndexOf(4));//5

  二、数组的判断方法

如果不支持ES5,一般IE低版本不支持,所以要用 Object.prototype.toString() 判断:

  1. var a = [0, 1, 2];
  2. alert(Object.prototype.toString.call(a) === '[object Array]'); // true

  如果支持就用Array.isArray();

  1. var a = [0, 1, 2];
  2. alert(Array.isArray(a)); // true在IE8以下无效

  三、迭代方法

1、every()

  1. var numbers = [1,2,3,4,5];
  2. var evertResult = numbers.every(function (item, index, array) {
  3. return (item > 2);
  4. });
  5. alert(evertResult);//false;因为every()是如果函数每一项都返回true那么是true

  2、some()

  1. var numbers = [1,2,3,4,5];
  2. var someResult = numbers.some(function (item, index, array) {
  3. return (item > 2);
  4. });
  5. alert(someResult);//true;只要传入函数对数组有一项是true返回为true;

  3、filter()

  1. var numbers = [1,2,3,4,5];
  2. var filterResult = numbers.filter(function (item, index, array) {
  3. return (item > 2);
  4. });
  5. alert(filterResult);//3,4,5;指定的函数确定是否在返回的数组中包含的某一项;

  4、map()

  1. var numbers = [1,2,3,4,5];
  2. var mapResult = numbers.map(function (item, index, array) {
  3. return item * 2;
  4. });
  5. alert(mapResult);//2,4,6,8,10;指定的函数确定是否在返回的数组中包含的某一项;

  5、forEach()

  1. var numbers = [1,2,3,4,5];
  2. numbers.forEach(function (item, index, array) {
  3.  
  4. alert(numbers);//1,2,3,4,5执行五次
  5. alert(item*numbers.length);//5,10,15,20,25(1*5,2*5,3*5,4*5,5*5)
  6. });

  四、缩小

  1. var values = [1,2,3,4,5];
  2. var sum = values.reduce(function(prev,cur,index,array) {
  3. return prev + cur;
  4. });
  5. alert(sum);//15

  

js数组(二)的更多相关文章

  1. JS数组 二维数组 二维数组的表示 方法一: myarray[ ][ ];方法二:var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3, ]]

    二维数组 一维数组,我们看成一组盒子,每个盒子只能放一个内容. 一维数组的表示: myarray[ ] 二维数组,我们看成一组盒子,不过每个盒子里还可以放多个盒子. 二维数组的表示: myarray[ ...

  2. 前端总结·基础篇·JS(二)数组深拷贝、去重以及字符串反序和数组(Array)

    目录 这是<前端总结·基础篇·JS>系列的第二篇,主要总结一下JS数组的使用.技巧以及常用方法. 一.数组使用 1.1 定义数组 1.2 使用数组 1.3 类型检测 二.常用技巧 2.1 ...

  3. JS的二维数组

    今天,记录一下JS的二位数组,并附上例题. 一.二维数组的本质:数组中的元素又是数组. 其实,我们都见过这样的二维数组,只不过没在意罢了,例如: var arr = [[1,2,4,6],[2,4,7 ...

  4. js数组去重的4种方法

    js数组去重,老生长谈,今天对其进行一番归纳,总结出来4种方法 贴入代码前 ,先对浏览器Array对象进行支持indexOf和forEach的polyfill Array.prototype.inde ...

  5. js数组操作

    用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...

  6. js数组操作【转载】

    用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多,自以为js高手的自己居然无从下手,一下狠心,我学!呵 ...

  7. JS 数组的基础知识

    数组 一.定义 1.数组的文字定义 广义上说,数组是相同类型数据的集合.但是对于强类型语言和弱类型语言来说其特点是不一样的.强类型语言数组和集合有以下特点. 数组强类型语言:1.数组里面只能存放相同数 ...

  8. js数组的声明与应用

    js数组的声明与应用 数组:一种容器,存储批量数据.JavaScript是一种弱类型语言.什么是弱类型,就是变量可以存储多种类型变量的引用不会报错.所以js数组可以存储不同的数据. 一.数组的作用:只 ...

  9. js数组的操作 【转】

    用 js有很久了,但都没有深究过js的数组形式.偶尔用用也就是简单的string.split(char).这段时间做的一个项目,用到数组的地方很多, 自以为js高手的自己居然无从下手,一下狠心,我学! ...

  10. js数组的操作及数组与字符串的相互转化

    数组与字符串的相互转化 <script type="text/javascript">var obj="new1abcdefg".replace(/ ...

随机推荐

  1. ios 75个工具

    如果你去到一位熟练的木匠的工作室,你总是能发现他/她有一堆工具来完成不同的任务.   软件开发同样如此.你可以从软件开发者如何使用工具中看出他水准如何.有经验的开发者精于使用工具.对你目前所使用的工具 ...

  2. C# Process.Start()方法详解(转)

    C# Process.Start()方法详解 System.Diagnostics.Process.Start(); 能做什么呢?它主要有以下几个功能: 1.打开某个链接网址(弹窗). 2.定位打开某 ...

  3. android:padding和android:margin的区别

    Android的Margin和Padding跟Html的是一样的.如下图所示:黄色部分为Padding,灰色部分为Margin. 通俗的理解: Padding 为内边框,指该控件内部内容,如文本/图片 ...

  4. bootstrap输入框从数据库读取数据

    https://github.com/lzwme/bootstrap-suggest-plugin

  5. linux crontab设置

    cron来源于希腊单词chronos(意为“时间”),是linux系统下一个自动执行指定任务的程序.例如,你想在每晚睡觉期间创建某些文件或文件夹的备份,就可以用cron来自动执行. 服务的启动和停止 ...

  6. @Override报错的解决方法

    有时候Java的Eclipse工程换一台电脑后编译总是@override报错,把@override去掉就好了,但不能从根本上解决问题,因为有时候有@override的地方超级多. 这是jdk的问题,@ ...

  7. Repeater实现数据绑定

    Repeater基础 在aspx文件中加入Repeater 控件,在<ItemTemplate></ItemTemplate>包含的范围里加入自己控制的代码,需要替换的变量使用 ...

  8. php 函数之 )_each()list()implode()explode()in_array()

    <?php /* implode() 把数组组合成字符串 explode() 把字符串分割成数组 in_array() 检测内容是否在数组中 each()把数组元素拆分成新的数组 list() ...

  9. MySQL的基本数据类型与数据类型优化

    1.选择优化的数据类型的标准 1)更小的通常更好. 一般情况下,应该尽量使用可以正确存储数据的最小数据类型.更小的数据类型通常更快,因为他们占用更少的磁盘.内存和CPU缓存,并且处理时需要的CPU周期 ...

  10. Windows消息拦截技术的应用(作者博客里有许多相关文章)

    民航合肥空管中心 周毅 一.前 言 众所周知,Windows程式的运行是依靠发生的事件来驱动.换句话说,程式不断等待一个消息的发生,然后对这个消息的类型进行判断,再做适当的处理.处理完此次消息后又回到 ...