数组的方法

302 阅读4分钟

数组

概念:计算机内存中一段连续的空间,使用一个变量名来表示
语法:
    var arr=newArr(多个数据)
    var arr=[多个数据]
基本操作:
访问元素:数组[下标]
设置数组:数组下标=值:
              下标存在 修改
              下标不存在 新增
删除:delete 数组[下标]:
              只能删除数据,不能删除小空间
长度:
    求长度:数组.length
    设置长度:数组.length=数字
遍历:
    写for循环,循环每个元素的下标,条件通常使用数组.length
    
数组的方法:
            🚩数组.push()
            给数组末尾添加一个或者多个元素
            返回新数组的长度


            数组.pop()
            将数组的最后一个元素删掉
            返回被删掉的元素


            🚩数组.unshift(1个或多个元素)
            给数组开头添加一个元素
            返回新数组的长度


            数组.shift()
            将数组的第一个元素删掉
            返回被删掉的元素


            🚩给数组在任意位置添加-删除-修改1个或多个元素
            数组.splice(开始下标,删除的元素个数,1个或多个新元素)
            返回被删掉的所有元素组成的数组

            将一个或多个元素或数组合并成更大的数组
            数组.concat(1个或多个元素或数组)
            返回一个更大的数组

            🚩将数组中元素以指定的连接符连接成一个字符串
            数组.join(连接符)
            返回字符串 

            🚩截取数组的一部分
            数组.slice(开始下标,结束下标)
            返回开始下标到结束下标之间的元素组成的新数组
            省略结束下标,默认截取到结尾
            省略两个参数,默认从头截到尾

            翻转数组
            数组.reverse()
            返回翻转后的数组


            🚩排序数组中的元素
            数组.sort()
            默认是按照字符串大小升序\
            按照数字大小排序
            升序:
            数组.sort(function(a,b){
                return a-b
            })
            降序:
            数组.sort(function(a,b){
                return b-a
            })
            
            indexOf:查找某个元素在数组中第一次出现的下标
            数组.indexOf(元素)
                返回找到的下标,找不到就返回-1
                数组.indexOf(元素,开始下标) - 从指定的下标开始找-返回找到的下标,找不到就返回-1
                注意:他是从左到右找到第一次出现的元素的下标
                通常我们会利用这个方法,判断某个元素是否在数组中


                lastIndexOf:查找元素在数组中最后一次出现的下标
                数组.lastIndexOf(元素)
                数组.lastIndexOf(元素,下标) - 将指定下标的元素作为最后一个元素,找元素最后一次出现的下标

                forEach方法:遍历数组
                语法:
                    数组.forEach(function(value,index,array){
                        value代表数中的每个元素,类似于我们通过for循环遍历的arr[a]
                        index代表每个元素对应的下标,相当于for循环遍历的a
                        array代表当前正在遍历的数组
                    })
                在遍历的时候通常,我们只会用到具体的元素,不会用到下标和数组本身,所以forEach方法在使用的时候,可以只有value这一个参数,可以省略后面的两个参数


                map:将数组中每个元素都通过相同的处理方式得到新的元素,所有新元素组成一个新的数组 并返回
                语法:
                    新的数组=数组.map(function(value,index,array){
                        return 新的元素
                    })

                filter:将数组中满足指定条件的所有元素组成新的数组并返回
                语法:
                    新数组=数组.filter(function(value,index,array){
                        return 条件
                    })
                
                

                every:判断数组中是否【所有】元素都满足指定条件
                语法:
                    布尔值=数组.every(function(value,index,array){
                        return 条件
                    })

                
                some:判断数组中是否【有】满足条件的元素
                语法:
                    布尔值=数组.some(function(value,index,array){
                        return 条件
                    })



                find:查找数组中第一个满足指定条件的元素
                语法:
                    元素=数组.find(function(value,index,array){
                        return 条件
                    })
                找到了就返回元素,找不到就返回undefined


                findIndex:查找数组中第一个满足指定条件的元素
                语法:
                    下标=数组.findIndex(function(value,index,array){
                        return 条件
                    })
                找到了就返回元素,找不到就返回-1


                reduce:数组求和
                语法:
                    数组.reduce(function(a,b){
                        return a+b
                    })