JavaScript中Array数组的方法

Posted 稀里糊涂林老冷

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript中Array数组的方法相关的知识,希望对你有一定的参考价值。

查找: indexOf、lastIndexOf

迭代:every、filter、forEach、map、somereduce、reduceRight

用法:

 1 /*
 2   1 查找方法:
 3  *  arr.indexOf( value )
 4  *     一个参数 返回value所在数组的位置下标
 5  *  找不到的时候返回-1
 6  * 
 7  *  arr.indexOf( start , value )
 8  *     从start开始查找value 返回下标
 9  *  找不到的时候返回-1
10  * 
11  *  arr.lastIndexOf( value )
12  *      从后往前找 返回下标
13  * 
14  * 
15  * 
16  *2 迭代方法:
17  *  arr.every(function(item , index , arr){
18  *         return item > 2;    //如果每一项都大于2 就返回true 否则false
19  * }) 
20  *     传入函数 对每一项进行执行函数, 
21  *     如果每一项都返回true 最后才返回true
22  *     如果有一个返回false 最后就返回发false
23  * 
24  *  arr.filter( function( item , index , arr ){
25  *         return item > 2;    //把大于2的数组元素返回
26  * } ) 
27  *         传入一个函数对每一个元素执行
28  *         结果是真的元素就返回
29  *         
30  * arr.forEach(function(item , index , arr){
31  *         alert(item)
32  * })
33  *         提供一个循环方法
34  *         每一个元素都执行一下function
35  * 
36  * arr.map(function(item , index , arr){
37  *         return item * 2 ;
38  * })
39  *         对arr每一项都执行函数 然后返回执行结果
40  * 
41  * 
42  * arr.some(function(item,index,arr){
43  *     
44  *         retrn item > 2;
45  * })
46  *         对arr中每个元素进行判断,
47  *         有一个返回true 则最后返回true
48  *         如果全都是false 最后返回false
49  * 
50  * 
51  * 
52  * arr.reduce( function(prev , cur , index , array){
53  *         // 钱一个值 当前值 索引位置 数组
54  *         return prev + cur;
55  * })
56  *  对数组中每个元素进行相加最后返回
57  * 
58  * 
59  * 
60  * arr.reduceRight(  )
61  *    对数组从右侧向左进行执行 返回最后的结果       
62  * 
63  * 
64  * 
65  * 
66  * 
67  * 
68  * 
69  * 
70  * */

 

 

 

 

 

 

 

添加:push、pop、shift、unshift 

截取splice、slice

操作:concat、join、reverse、sort

用法:

 1 // 数组的创建方式
 2 // 1 不推荐
 3 // var arr = new Array();
 4 //2 推荐 js种数组内部数据类型可以不一样
 5 var arr = [1,2,3,4,true,"abc",new Date() ];
 6 //alert(arr.length);
 7 //js中的数组可以随意改变长度 元素类型任意
 8 arr.length = 5;
 9 alert(arr);
10 
11 /*
12  *数组的常用方法
13  * 1 数组添加 删除元素
14  *  result = arr.push(value1,value2,value3,....) 向数组添加元素  返回值 新数组的长度
15  *  result = arr.pop() 返回数组尾部的元素并移除
16  *     
17  *  result = arr.shift() 从头部移除一个元素 并把头部元素返回
18  *  result = arr.unshift(a,b,c,d,e....)  从头部插入一些元素   返回新数组长度
19  * 
20  * 2 数组截取
21  *  arr.splice(1,2,3,4,5) 
22  *  数组的截取方法: 改变数组本身
23  *         第一个参数表示 起始位置
24  *         第二个参数表示 要截取的个数
25  *         第三个参数之后作为一个子数组会从截取的位置插入数组
26  *  arr.splice(1) 1后面元素全都截掉
27  *  arr.splice(1,2) 从1号下标元素开始 删去两个元素
28  * 
29  *  
30  *  result = arr.slice(2,3)
31  *     截取操作 第一个参数是截取的起点,第二个参数是end  左闭右开的截取
32  *  将截取的结果返回 不 改变数组本身
33  * 
34  * 
35  * 3 数组操作方法
36  *  
37  *  result = arr1.concat(arr2)
38  *         将arr1和arr2进行拼接返回
39  *         不改变数组本身
40  *  
41  *  result = arr.join("-")
42  *         在每个元素之间添加一个 - 符号 并返回
43  * 
44  *     arr.reverse() 反转数组顺序
45  *         改变数组本身
46  * 
47  *  arr.sort() 正序排序 
48  *         但是把每一个值按照字符串 一个字节一个字节比较 
49  *         比如10和4比较,会觉得1比4小 10会排在前面
50  *         改变数组本身
51  *   如果想正确的排序 需要自己写一个方法传入sort()
52  * 例如 
53  *  function compare(value1 , value2){
54  *          if(value1 < value2){
55  *             return -1;
56  *         }else if(value1 > value2){
57  *             return 1;
58  *         }else{
59  *             return 0;
60  *         }    
61  *     }
62  * 然后再调用 arr.sort(compare)
63  * 这样就能按照我们想要的正常的正序进行排序了
64  * 
65  * */

 

以上是关于JavaScript中Array数组的方法的主要内容,如果未能解决你的问题,请参考以下文章

javascript常用代码片段

几个有用的JavaScript/jQuery代码片段(转)

javascript Array数组详解 各种方法

几个关于js数组方法reduce的经典片段

javascript学习系列(19):数组中的Array.from方法

36个工作中常用的JavaScript函数片段