数组的方法

汇总:

方法作用返回值更改原数组
push()数组后面加元素添加数据后数组长度改变
unshift()数组前面加元素添加数据后数组长度改变
pop()删除数组后面最后一个元素被删除的元素改变
shift删除数组第一个元素被删除的数据改变
splice()删除元素splice(index,num)被删除的元素组成的数组改变
splice()删除元素splice(index、num、value)被删除的元素组成的数组改变
reverse()反转数组反转之后的数组改变
slice()截取数据(不包含结束索引的数据)截取的数据不改变
sort()数据排序排序好的数据改变
concat()合并数组合并好的数组不改变
join()把数组转化为字符串转换好的字符串不改变
indexOf()判断数组中是否存在某个元素如果数据存在 返回这个数据的索引,如果不存在就返回-1不改变
map()按照原始数组元素顺序依次处理元素返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。不改变
forEach()数组遍历undefined不改变
filter()过滤新数组中的元素是通过检查指定数组中符合条件的所有元素不改变
some()检测数组中的元素是否满足指定条件(函数提供)如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。 如果没有满足条件的元素,则返回false。不改变
every()用于检测数组所有元素是否都符合指定条件一个不满足返回false;全都满足返回true不改变
reduce()累加器循环的最后一次结果不改变

push()

/*【1】push() 向数组中追加 数据添加到数组的末尾
                改变原数组
                返回值:添加数据之后 的数组长度 */
                var arr = [0,2,3,4];
                console.log(arr.push(99));
                console.log(arr);

在这里插入图片描述

unshift()

     改变原数组
     返回值:添加数据之后 的数组长度  
     var arr = [0,2,3,4];
     console.log(arr.unshift(99));
     console.log(arr);

在这里插入图片描述

pop()

            【3】pop() 删除数组中最后一个元素
                改变原始数组
                返回值:被删除的数据
                var arr = [0,2,3,4];
                console.log(arr.pop());
                console.log(arr);

在这里插入图片描述

shift():

        /*    【4】shift() 删除数组中第一个元素
                改变原始数组
                返回值:被删除的数据 */
                var arr = [0,2,3,4];
                console.log(arr.shift());
                console.log(arr);

在这里插入图片描述

splice()

        /* 【5】splice(index,number) 从任意位置删除
数据 或者 截取数据
             index:从什么索引位置开始删除数据
             number:删除的个数 
             改变原始数组
             返回值:一个新数组 ,存储的数据为删除的元素*/
             var arr = [0,2,3,4];
             console.log(arr.splice(1,2));
             console.log(arr);

在这里插入图片描述

  /*   【6】splice(index,number,value) 替换元
素,用value来替换删除的元素
             index:从什么索引位置开始删除数据
             number:删除的个数 
             value:用来替换的值
             改变原始数组
             返回值:一个新数组 ,存储的数据为删除的元素 */

             var arr = [0,2,3,4];
             console.log(arr.splice(1,0,99));//number为0是新增数据
             console.log(arr);

在这里插入图片描述

slice()

/*     【7】slice(start,end) 截取 从开始位置的
索引到结束位置索引的数据(不包含结束索引的数据)
             不改变原始数组
             返回值:截取的数据 */

在这里插入图片描述

reverse()

/*             【8】reverse() 反转数组
                改变原始数组
                返回值:反转之后的数组 */
            var arr=[0,1,2,3,4,7];
            console.log(arr.reverse());
            console.log(arr);

在这里插入图片描述

concat()

      /*   【9】concat() 合并数组
                不改变原始数组
                返回值:合并好的数组

            */
            var arr=[0,1,2,3,4,7];
            var arr1 = ["xx","yy","ll"]
            console.log(arr.concat(arr1));
            console.log(arr);

        var arr =[1,2,3,4];
        console.log(arr.concat(3));
			arr.concat(arr1,arr2)

在这里插入图片描述

sort()

【10】sort() 数据排序,按照字符的ASCII码来排序的  
  如果不想要按照 数据的ASCII码值排序,需要给sort添加一个回调函数
   回调函数中有两个形参,在回调函数函数体中 
      写  return  参数1-参数2  升序排序
          return  参数2-参数1  降序排序
     改变原始数组
     返回值:排序好的数据
     function sortBy(props) {
            return function (a, b) {
                return b[props] - a[props];
            }
        }

join()

            【11】join()把数组转化为 字符串
                不改变原始数组
                返回值:转换号的字符串
  默认会用逗号来凭借字符串 join('') 表示用'' 来拼接字符串
            var arr1 = ["xx","yy","ll"]
            console.log(arr1.join(''));
            console.log(arr1.join());//不写就是逗号拼接

在这里插入图片描述

indexOf()

判断数组中是否存在某个元素:

  /* 【12】indexOf() 判断数组中是否存在某个元素
                不改变原始数组
                返回值:如果数据存在 返回这个数据的索引,如果不存在就返回-1

        */
            var arr1 = ["xx","yy","ll"]
            console.log(arr1.indexOf('ll'));
            console.log(arr1.indexof('aa'));

在这里插入图片描述

map映射:

 map() 
		返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值。
      按照原始数组元素顺序依次处理元素。
      语法:			 	array.map(function(currentValue,index,arr), thisValue)
      
     function(currentValue, index,arr):必须。函数,数组中的每个元素都会执行这个函数
        函数参数:currentValue   必须。当前元素的值
                index   可选。当前元素的索引值
                arr 可选。当前元素属于的数组对象
                thisValue可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。
       如果省略了 thisValue,或者传入 null、undefined,那么回调函数的 this 为全局对象。

forEach()

  【2】forEach()数组遍历
           调用数组的每个元素,并将元素传递给回调函数。
   语法:	array.forEach(function(currentValue, index, arr), thisValue)
    forEach() 本身是不支持的 continuebreak 语句的
     返回值:undefined 不管有没有return 都是undefined
  

filter()

        /* 【3】filter():创建一个新的数组,新数组中的元素是通过检查指定数组中符合条件的所有元素。
          filter() 不会改变原始数组。
        
        */
        var ages = [32, 33, 16, 40];
        var res = ages.filter(function (item) {
            return item >= 18;
        });
        console.log(res); 

some()

  /* some: 
         用于检测数组中的元素是否满足指定条件(函数提供)。

        some() 方法会依次执行数组的每个元素:

        如果有一个元素满足条件,则表达式返回true , 剩余的元素不会再执行检测。
        如果没有满足条件的元素,则返回false。

        注意: some() 不会对空数组进行检测。
        注意: some() 不会改变原始数组。
         
         
         */




 

every()

        /* 
         every:
         用于检测数组所有元素是否都符合指定条件(通过函数提供)。

         every() 方法使用指定函数检测数组中的所有元素:

        (1)如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。
        (2)如果所有元素都满足条件,则返回 true。

            注意: every() 不会对空数组进行检测。
            注意: every() 不会改变原始数组。
         
         */

reduce()


```javascript
       /* 
            reduce() 累加器
                语法:数组.reduce(function(pre,cur,index,arr){

                },init)
                    pre:相当于一个变量,这个变量的值 如果init,pre的默认值为init,如果没有init参数,pre的值为数组中的第一个元素
                    cur:数组中每一项
                    index:每一项的索引
                    arr :原始数组
                返回值:循环的最后一次结果
        */
        var arr = [1, 2, 3, 4, 5, 6];
        var res = arr.reduce(function (pre, cur) {
            // 如果pre默认值为 1(没有第二个参数时),那么cur 值从2开始,循环只会循环5次
            // 如果pre默认值为 0(第二个参数值设置为0),那么cur 值从1开始,循环只会循环6次

            // 每一次循环结束 都会把return后面的值赋值 pre
            return pre + cur
        }, 0);
        console.log(res);

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值