js数组常用方法

一、 push()

         1. 作用:在数组的尾部添加一个或者多个元素,并且返回数组的新长度

         2. 例:

                   (1) arr.push(6); 在数组的尾部插入一个新元素

                   (2) arr.push(6,7,8); 在数组的尾部插入多个新元素

二、 unshift()

         1. 作用:在数组头部添加一个或多个元素,并返回数组的新长度

         2. 例:

                   (1) arr.unshift(0); 在数组的头部插入一个新元素

                   (2) var a=arr.unshift(-3,-2,-1,0); 在数组的头部插入多个新元素并返回数组的新长度

三、 pop()

         1. 作用:删除数组尾部的最后一个元素,并将这个被删除的元素返回

         2. 例:

                   var a=arr.pop(); 删除数组最尾部的一个元素,并将被删除的元素返回

         3. 注意

                   (1) pop中没有参数

                   (2) 它不能删除多个元素

四、 shift()

         1. 作用:删除数组的第一个元素,并且返回被删除的元素

         2. 例:

                   var a=arr.shift(); 将数组的第一个元素删除,并且返回这个被删除的元素

五、 concat()

         1. 作用:

                   (1) 实现数组的合并,合并后会返回一个新数组,原数组不会发生变化

                   (2) 将数组与元素合并,将多个元素与原数组合并,返回新数组

                   (3) 具备复制的功能(浅复制)

         2. 例:

                   (1) var arr2=arr.concat(arr1); 合并数组,返回新数组

                   (2) var arr3=arr.concat(0,-1,-2); 合并元素                 

                   (3) var arr4=arr.concat(0,arr1,["A","B"]); 同时合并元素、已创建的数组和新创建的数组

                   (4) var arr5=arr.concat(); 直接使用concat,可以实现复制数组

六、 join()

         1. 作用:将数组的每个元素以指定的字符连接形成新字符串返回

         2. 说明:join的参数是字符串的连接符

         3. 例:

                   (1) var arr=[1,2,3,4,5];var str=arr.join(); 结果为1,2,3,4,5。将数组合并为字符串返回,默认使用逗号连接

                   (2) var arr=[1,2,3,4,5];var str=arr.join("|"); 结果为1|2|3|4|5

                   (3) var arr=[1,2,3,4,5];var str=arr.join(""); 结果为12345

                            -- 特殊的连接符""(空字符串),会将数组的所有元素首尾相连成为字符串

七、 toString()

         1. 作用:将数组转换为字符串,但是不能改变连接符

         2. 例:

                   var arr=[1,2,3,4,5];var str=arr.toString(); 结果为1,2,3,4,5

八、 splice()

         1. 作用:对数组指定位置实现元素插入,删除,替换的操作,返回被删除元素组成的新数组

         2. 语法:splice(起始位置,删除元素数量,要插入的元素);

         3. 说明:

                   (1) 该方法不常用,效率低下,数量不过多(小于万)时使用

                   (2) 高效方法:将数组分割开,实现要实现的效果,再拼接,数组元素过多(上万条)时使用

         4. 例:

                   (1) var arr1=arr.splice(); 没有任何参数时,什么都没有删除,返回一个空数组

                   (2) var arr1=arr.splice(0); 将数组所有元素删除,将元素转移到新数组

                   (3) var arr1=arr.splice(0,3); 从第0位开始删除3个元素,删除的元素返回到新数组

                   (4) var arr1=arr.splice(-2); 从第几位开始可以是负数,若为负数即从后向前数(倒数)

                   (5) var arr1=arr.splice(0,1,-1); 从数组第0位开始,删除1个元素,并且在这个位置插入一个元素-1,即实现替换

                   (6) var arr1=arr.splice(-1,1,0); 将数组最后一位替换成0

                   (7) var arr1=arr.splice(2,2,10,11); 从数组第2位开始两位元素替换为10,11

                   (8) arr.splice(2,0,-1); 从第2位开始,什么都不删除,放入-1。即在数组的第2位插入一个元素-1

                   (9) arr.splice(2,0,-1,8,9); 在数组的第2位插入多个元素

九、 slice()

         1. 作用:按指定位置截取复制数组的内容,返回截取出来的数组

         2. 语法:slice(m,n);

                   (1) 从第m位开始到第n位之前,若不写n默认截取到尾部

                   (2) 只能从前向后截取

         3. 例:

                   (1) var arr1=arr.slice(1,4); 从第1位开始截取到第4位之前

                   (2) var arr1=arr.slice(); 复制数组arr

                   (3) var arr1=arr.slice(0); 也是复制数组arr

                   (4) var arr1=arr.slice(3); 从第3位截取到尾部

                   (5) var arr1=arr.slice(-2); 从倒数第2位开始截取到尾部

                   (6) var arr1=arr.slice(-3,-1); 从倒数第3位截取到倒数第1位之前

十、 indexOf()

         1. 作用:查找对应元素在数组中的下标,并可以设置从什么位置开始查询,返回位置下标

         2. 语法:数组.indexOf(要查询的元素,从哪个下标开始查询);

         3. 说明:

                   (1) 如果查找到返回对应下标,如果查找不到返回-1

                   (2) 数组中的对象不能被查找到

                   (3) 若要查找的内容在数组中有多个,则这样写只能查询到第一个,后面的不会查询到

         4. 例:

                   var index=arr.indexOf(4); 在数组中查找元素4

十一、 lastIndexOf()

         1. 作用:查找对应元素在数组中的下标,从后向前查找,返回位置下标

         2. 语法:数组.lastIndexOf(查找的元素,从什么位置开始查找)

         3. 例:

                   var index=arr.lastIndexOf(3);

十二、 forEach()

         1. 作用:遍历数组,不返回值

         2. 语法:arr.forEach(function(数组中的元素,每个元素对应的下标,数组自身){})

         3. 说明:

                   forEach循环会跳过空元素

         4. 例:

                   arr.forEach(function(item,index,arr){

                               console.log(item,index,arr);

                   });

                  -- item是数组中的每个元素

                   -- index是数组的下标

                   -- arr是当前数组

十三、 map()

         1. 作用:遍历数组,返回一个与原数组等长的数组

         2. 语法:arr.forEach(function(数组中的元素,每个元素对应的下标,数组自身){})

         3. 说明:

                   (1) map循环会跳过空元素

                   (2) 在map中使用return就是在对应的下标中添加对应的数据

         4. 例:

                   var arr2=arr.map(function(item,index,arr){

                                    return item+10;

                   });

十四、 sort()

         1. 数值型数据的数组排序

                   (1) 例:arr.sort(function(a,b){

                                          // return a-b;  // return a-b;就是从小到大

                                          //  return b-a;  // return b-a;就是从大到小

                                })

         2. 字符型数据的数组排序

                   (1) 例:arr.sort(function(a,b){

                                          // return a.charCodeAt(0)-b.charCodeAt(0); //从小到大

                                          // return b.charCodeAt(0)-a.charCodeAt(0); // 从大到小

                                 })

                            -- str.charCodeAt(0)将str字符串的第0项转换为Unicode编码

         3. 数组中的数据随机乱序

                   (1) 例:arr.sort(function(){

                                          return Math.random()-0.5;

                                })

                            -- Math.random()是0-1之间的任意小数,减去0.5范围就会变为 -0.5——0.5,就会生成一个正数与负数的随机值,且生成正数与生成负数的概率相同

十五、 some()

         1. 作用:查找数组中是否有满足条件的元素,如果有就返回true,如果没有就返回false

         2. 语法:var bool=arr.some(function(item,index,arr){

                                return 条件表达式;

                        });

         3. 说明:

                   遍历数组,如果有一个满足条件的元素,都会直接返回true,不继续向后遍历

         4. 例:

                   var bool=arr.some(function(item,index,arr){

                                  return item>5;

                   });

十六、 every()

         1. 作用:判断数组中是否每一个都满足条件,如果有一个不满足条件,直接跳出,否则所有都满足时返回为true

         2. 语法:var bool=arr.every(function(item,index,arr){

                              return 条件表达式;

                        });

         3. 例:

                   var bool=arr.every(function(item,index,arr){

                               return item>2;

                    });

十七、 filter()

         1. 作用:筛选数组中满足条件的内容,并返回

         2. 语法:arr.filter(function(item,index,arr){

                                 return 条件表达式;

                        })

         3. 说明:

                   (1) filter与map的都可以返回满足条件的元素给一个新数组,但是map返回的数组长度与原数组相同

                   (2) 数据驱动显示:所有的显示内容都是通过数据得到的

         4. 例:

                   var goods=goodsList.filter(function(item){

                                       return item.price>1500;

                   })

十八、 reduce()

         1. 作用:数组迭代器

         2. 语法:数组.reduce(回调函数,初始值);

                   -- 即 数组.reduce(function(累计值,元素,下标,数组){},初始值)

         3. 说明:

                   (1) 如果在函数中使用return,就会将返回值在下次数组的遍历中赋予value。即value就是上次遍历return的值,第0次遍历时(最开始时是数组的第0项)

                   (2) 如果reduce没有设置初始值,那么累计值是数组的第0位元素,遍历从下标1开始,如果reduce设置了初始值,累计值就是从这个初始值开始,遍历从下标0开始

                   (3) reduce返回的是一个值,就是遍历到最后一次return出来的值

         4. 例:

                   var sum=arr.reduce(function(value,item){

                                  return value+item;

                   },100);

十九、 Array.isArray()

         1. 作用:判断是否是数组,如果是数组返回true,否则返回false

         2. 说明:

                   (1) 有兼容问题,ES6新方法

                   (2) 判断是否为数组不可一世使用typeof,因为它不能区分数组和对象

         3. 例:

                   console.log(Array.isArray(arr));

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值