1、Array.indexof(value1,value2)

Tip:用于返回某个数组或字符串中规定字符或者字符串的位置。

(1)当Array.indexof(value1);里面只有一个值的时候,表示value1在arr数组里面的我们想要得到查找的值。

        var arr = [,,,,,,"hello",];
var i = arr.indexOf();//表示13在数组中的索引
var a = arr[i];//在下面我们console.log我们可以看到这个值是否对应数组中一开始我们所想要的索引数
console.log(i)//
console.log(a)//13

(2)当Array.indexof(value1,value2);第一个值(value1)表示我们想要在数组中查找的值,第二个值(value2)表示我们

我们想要从第几个位置去查找这个值;

     var arr = [,,,,,,"hello",];
     var i = arr.indexOf(,);//我们是从第三个数开始在这个数组中从左到右中去找这个数。
     var a = arr[i];//13
     console.log(i)//4 从第三个值开始查到到的这个value1的第一个值,前三个数不会识别,直接跳过,进行查找。
     console.log(a)//

(3)当Array.indexof()的括号里面不管时一个值还是两个值,若这个值不在我们的这个数组里面返回值都是-1.

      var arr = [11,12,13,14,13,16,"hello",17];
var a = arr.indexOf(20);//数组中没有这个值
var i = arr.indexOf(21,2);//数组zhong
console.log(i)//-1
console.log(a)//-1

(4)用Array.indexof()方法中-1特性写一个去重案例

var arr = [1,1,2,"hello","yes","yes",2];
function Arrayeighting(arr){
var newArr = [];//定义一个新数组,一会将用于indexof -1特性判断,判断有没有某个值
for(var i = 0;i<arr.length;i++){//遍历老数组
if(newArr.indexOf(arr[i])==-1){//判断新创建的数组中有没有老数组中的这个数
newArr.push(arr[i]);//当indexof返回值为-1就没有这个数,我们就添加这个数
}
}
return newArr;//返回给函数,一个封装函数,随时都可以去调用。
}
console.log(Arrayeighting(arr))// [1, 2, "hello", "yes"]

  

2、Array.forEach()

Tip:循环或遍历数组

          var arr = [11,12,13,14,13,16,"hello",17];
arr.forEach(function (value,index,self){
console.log(value,index,self)
})
            
            //value表示数组里面的数值
            //index表示改数值在数组中的位置(索引)
            //self表示的是当前数组。(arr)

  

3、Array.map()

Tip:类似于forEach,会遍历所有的数组,返回当前方法返回值。map不会改变原有数组,而是将函数执行一次之后的返回值组成一个新的数组,返回出来。

demo:将原来的数组扩大1.5倍

          var arr = [11,12,13,14,13,16,17];
var a = arr.map(function (val){
return val*=1.5;//不会改变原有数组,并会返回一个新的数组。
})
console.log(a)
          
            //value表示数组里面的数值
            //index表示改数值在数组中的位置(索引)
            //self表示的是当前数组。(arr)

  

4、Array.filter ()

都同上一样,筛选数组中的所有项,当条件为tuer的时候才回返回该数据,当条件为false时返回的是一个空数组。

		var arr = [11,12,13,14,13,16,17];
var a = arr.filter(function (value){
return value>14;判断的条件
})
console.log(a)//[16.17]

  

5、arr.every()

tip:会遍历整个数组,对数组中的每一项运行都给定一个函数,如果函数的每一项都会返回true,则返回true。当有一个函数的返回值为false,则全都返回false。

var arr = [1,2,3,4,5,6,7,8,9];
var a = arr.every(function(value,index,arr){//evevy可以传三个值
console.log("value"+":"+value)//当返回值为false,则会打印数组中第一个数value:1
return value>2;//判断的条件,这个数是否大于2?
})
console.log(a)//false
            //value表示数组里面的数值
            //index表示改数值在数组中的位置(索引)
            //self表示的是当前数组。(arr)

  

		var arr = [1,2,3,4,5,6,7,8,9];

		var a = arr.every(function(value,index,arr){
console.log("value"+":"+value)//当返回值为true,则会打印数组中所有的数如

ES5新增数组的一些方法的更多相关文章

  1. 4日6日--ES5新增数组方法

    forEach使用的函数调用,所以占内存比较大,不如定长for循环和迭代for循环 1.通过forEach将数组中的元素逐个表示出来(遍历方法,读取操作). 2.通过map将原数组中的元素进行算数运算 ...

  2. js数组定义和方法 (包含ES5新增数组方法)

    数组Array 1. 数组定义 一系列数据的集合成为数组.数组的元素可以为任何类型的数据(包括数组,函数等),每个元素之间用逗号隔开,数组格式:[1,2,3]. 2. 数组创建方式 (1) 字面量方法 ...

  3. ES5新增数组方法测试和字符串常见API测试

    首先是ES5新增数组方法测试: <!DOCTYPE html><html lang="en"><head> <meta charset=& ...

  4. ES5新增数组的方法

    ES5新增数组的方法 ES5新增数组常见方法(indexOf/forEach/map/filter/some/every) .indexOf( data , start)  检测数组中是否存在指定数据 ...

  5. ES5新增数组方法every()、some()、filter()、map()

    JavaScript ES5标准中新增了一些Array方法,如every().some().filter().map().它们的出现使我们能够更加便利地操作数组,但对IE9以下浏览器的兼容性比较差.下 ...

  6. ES5新增数组方法(4):every

    检查数组元素的每个元素是否符合条件. // 数组中的元素全部满足指定条件返回true let arr = [1, 3, 5, 7, 9]; console.log(arr.every((value, ...

  7. ES5新增数组方法(3):some

    检查数组元素中是否有元素符合指定. // 数组中的元素部分满足指定条件返回true let arr = [1, 3, 5, 7, 9]; console.log(arr.some((value, in ...

  8. ES5新增数组方法(2):map

    通过指定函数处理数组的每个元素,并返回处理后的数组. 1.计算数组中每个元素的平方 let arr = [1, 2, 3, 4, 5, 6]; let newArr = arr.map(item =& ...

  9. ES5新增数组方法(1):filter

    检测数组元素,并返回符合条件所有元素的数组. 1.过滤数组中不符合条件的元素 let arr = [1, 2, 3, 4, 5, 6]; // 方式一 let newArr = arr.filter( ...

随机推荐

  1. IO-文件输出流

    一.输出流的原理 Java向文件中写数据的原理 Java程序-->JVM(java虚拟机)-->OS(操作系统)-->OS调用写数据的方法-->把数据写入到文件中 tips: ...

  2. 读JDK源码集合部分

    以前读过一遍JDK源码的集合部分,读完了一段时间后忘了,直到有一次面试简历上还写着读过JDK集合部分的源码,但面试官让我说说,感觉记得不是很清楚了,回答的也模模糊糊的,哎,老了记性越来越差了,所以再回 ...

  3. (转载)js数组中的find、filter、forEach、map四个方法的详解和应用实例

    数组中的find.filter.forEach.map四个语法很相近,为了方便记忆,真正的掌握它们的用法,所以就把它们总结在一起喽. find():返回通过测试的数组的第一个元素的值 在第一次调用 c ...

  4. thinkphp3.2使用七牛云上传文件

    最近项目中用到了七牛云服务,来分享一下thinkphp使用七牛云来进行文件上传 1.首先在七牛云创建一个空间,例如空间名为test.获取secrectKey,accessKey 2.在thinkphp ...

  5. Linux 常用命令及详解

    1.  type   :查询命令 是否属于shell解释器2.  help  : 帮助命令3.  man : 为所有用户提供在线帮助4.  ls  : 列表显示目录内的文件及目录-l    以长格式显 ...

  6. sqoop 密码别名模式 --password-alias

    sqoop要使用别名模式隐藏密码 1.首先使用命令创建别名 hadoop credential create xiaopengfei  -provider jceks://hdfs/user/pass ...

  7. 洛谷P2630 题解

    我先讲一下我的思路 将A,B,C,D四种操作用函数储存起来: 枚举所有可能出现的情况:A,B,C,D,AA,AB,AC,AD,BB,BC,BD,CC,CD,DD,ABC,ABD,ACD,BCD,ABC ...

  8. 分布式ID系列(4)——Redis集群实现的分布式ID适合做分布式ID吗

    首先是项目地址: https://github.com/maqiankun/distributed-id-redis-generator 关于Redis集群生成分布式ID,这里要先了解redis使用l ...

  9. UnityShader之积雪效果

    积雪效果是比较简单的,只需要计算顶点法线方向和世界向上方向之间的点乘,将得到的值与预设的阀值比较,小于阀值为0,用这个值进行插值就OK了 代码: Shader "MyShader/SnowS ...

  10. 主成分分析 Principle Component Analysis

    一.主要思想 利用正交变换把可能线性相关变量表示的观测数据,转换为由少数几个线性无关变量(主成分)表示的数据.(重构原始特征空间:线性降维) 要尽可能保留原始数据中的信息,两个思路:最大投影方差.最小 ...