JS 中 数组的常用操作

遍历数组

     map 

        map方法的作用在于处理 流式数据,比如数组。

        map() 方法  返回一个新数组,数组中的元素为原始数组元素 调用函数 处理后的值

        map( ) 不会改变原始数组!!!!!

        array.map(function(currentValue,index,arr), thisValue)

        currentValue 必须。当前元素的值

        index可选。当前元素的索引值

        arr可选。当前元素属于的数组对象

        thisValue 可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。

        如果省略了 thisValue ,"this" 的值为 "undefined"

        注意:map 方法 回调函数需要 return!!!!否则就是 undefined;

                     map() 不会对空数组进行检测

                     map() 不会改变原始数组

map 

     reduce 

        reduce() 方法对累加器和数组中的每个元素(从左到右)应用一个函数,最终合并为一个值。

        array.reduce(function(total, currentValue, currentIndex, arr), initialValue)

            total 必需初始值, 或者计算结束后的返回值

            currentValue 必需。当前元素

            currentIndex 可选。当前元素的索引

            arr  可选。当前元素所属的数组对象。

            initialValue 可选。传递给函数的初始值

JS 中 数组的常用操作_第1张图片
  reduce 

         filter

        filter方法可以筛除数组和类似结构中不满足条件的元素,并 返回 满足条件 的元素组成的数组

        filter() 方法创建一个 新的数组新数组中的元素是通过检查指定数组中符合条件的所有元素。

        array.filter(function(currentValue,index,arr), thisValue)

        参数

            currentValue 必须。当前元素的值

            index可选。当前元素的索引值

            arr可选。当前元素属于的数组对象

            thisValue可选。对象作为该执行回调时使用,传递给函数,用作 "this" 的值。

            如果省略了 thisValue ,"this" 的值为 "undefined"

JS 中 数组的常用操作_第2张图片
  filter

        forEach

            forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。

            array.forEach(function(currentValue, index, arr), thisValue)

            function(currentValue, index, arr)必需。 数组中每个元素需要调用的函数。

            currentValue必需。当前元素

            index可选。当前元素的索引值。

            arr可选。当前元素所属的数组对象。

            thisValue可选。传递给函数的值一般用 "this" 值。

            如果这个参数为空, "undefined" 会传递给 "this" 值

            注意:无法中途退出循环,只能用return退出本次回调,进行下一次回调。

                它总是返回 undefined值,即使你return了一个值。

JS 中 数组的常用操作_第3张图片
forEach的最后一个参数

        every

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

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

            如果数组中检测到有一个元素不满足,则整个表达式返回 false ,且剩余的元素不会再进行检测。

            如果所有元素都满足条件,则返回 true。

            array.every(function(currentValue,index,arr), thisValue),参数跟forEach一样。

            返回值是布尔类型

            注意:如果数组中检测到有一个元素不满足,则整个表达式返回 false,且剩余的元素不会再进行检测。

            如果所有元素都满足条件,则返回 true。

JS 中 数组的常用操作_第4张图片
every

        some 

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

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

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

            如果没有满足条件的元素,则返回false。

            array.some(function(currentValue,index,arr),thisValue)

JS 中 数组的常用操作_第5张图片
some  

查询数组中元素

     includes

        arr.includes(searchElement)

        arr.includes(searchElement, fromIndex)

        includes() 方法用来判断一个数组是否包含一个指定的值,如果是返回 true,否则false。

        searchElement必须。需要查找的元素值。

        fromIndex可选。从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。

JS 中 数组的常用操作_第6张图片
includes

     find

        array.find(function(currentValue, index, arr),thisValue)

        find() 方法为数组中的 每个元素 都调用一次函数执行,

        返回值:find 返回 数组或类似结构中满足条件的 第一个元素

            currentValue 必需。当前元素

            index可选。当前元素的索引值

            arr可选。当前元素所属的数组对象

            thisValue可选。 传递给函数的值一般用 "this" 值。

            如果这个参数为空, "undefined" 会传递给 "this" 值

        当数组中的元素在测试条件时返回 true 时, find() 返回符合条件的元素,之后的值不会再调用执行函数,如果没有符合条件的元素返回 undefined

JS 中 数组的常用操作_第7张图片
find

        findIndex

            findIndex() 方法返回传入一个测试条件(函数)符合条件的数组第一个元素位置

            findIndex() 方法为数组中的每个元素都调用一次函数执行:

            当数组中的元素在测试条件时返回 true 时, findIndex() 返回符合条件的元素的索引位置,之后的值不会再调用执行函数。

            如果没有符合条件的元素返回 -1

            和 find 基本一样,就是 find 是返回 符合条件的元素,findIndex 是返回下标

JS 中 数组的常用操作_第8张图片
findIndex

        indexOf

            array.indexOf(searchvalue,start)

            该方法将从头到尾地检索数组,看它是否含有对应的元素。开始检索的位置在数组 start 处或数组的开头(没有指定 start 参数时)。如果找到一个 item,则返回 item 的第一次出现的位置。开始位置的索引为 0。

            注意: indexOf() 方法区分大小写。

            返回值:返回数组中首次出现某个指定的元素位置,也就是下标。

            注意:indexOf()不能识别NaN

            searchvalue必需。规定需检索的字符串值。

            start可选的整数参数。规定在字符串中开始检索的位置。它的合法取值是 0 到 string Object.length - 1。如省略该参数,则将从字符串的首字符开始检索。

JS 中 数组的常用操作_第9张图片
indexOf

增加删减方法

         扩展预算符  ...

 扩展预算符  ...

push  改变原来的数组

        array.push(item1item2, ..., itemX)

        向数组的末尾添加一个或多个元素,并 返回新的长度

push  

unshift 改变原来的数组

        array.unshift(item1,item2, ..., itemX)

        向数组的开头添加一个或更多元素,并返回新的长度

unshift

concat 不改变原来的数组

        array.concat(array2,array3,...,arrayX)

        concat() 方法用于连接两个或多个数组。该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本。

         返回值:返回一个新的数组。

JS 中 数组的常用操作_第10张图片
concat 

splice  改变原来的数组

        array.splice(index,howmany,item1,.....,itemX)

        splice() 添加/删除数组元素

       返回值:如果从 array 中删除了元素,则返回的是 删除后 的数组。

        注意:添加是在开始的元素前面添加的!!!

            index必需。规定从何处添加/删除元素。

            该参数是开始插入和(或)删除的数组元素的下标,必须是数字。

            howmany必需。规定应该删除多少元素。必须是数字,但可以是 "0"

            如果未规定此参数,则删除从 index 开始到原数组结尾的所有元素。

            item1, ..., itemX可选。要添加到数组的新元素

JS 中 数组的常用操作_第11张图片
splice  

        slice 不改变原数组

            array.slice(start,end)

               返回值:返回一个新的数组,包含从 start 到 end (不包括该元素)的 arrayObject 中的元素。

            start必需。规定从何处开始选取。如果是负数,那么它规定从数组尾部开始算起的位置。也就是说,-1 指最后一个元素,-2 指倒数第二个元素,以此类推。

            end可选。规定从何处结束选取。该参数是数组片断结束处的数组下标。如果没有指定该参数,那么切分的数组包含从 start 到数组结束的所有元素。如果这个参数是负数,那么它规定的是从数组尾部开始算起的元素。

JS 中 数组的常用操作_第12张图片
slice 

    pop 改变原来的数组

        array.pop()

       pop() 方法删除一个数组中的 最后的一个元素,并且 返回这个元素

        返回值 是  删除的这个元素!!!!

pop 

    shift 改变原来的数组

        array.shift()

        shift()方法删除数组的 第一个元素,并 返回这个元素

        返回值  是  删除的这个元素!!!!

shift 

     copyWithin 改变原来的数组

        array.copyWithin(target, start, end)

          用于从数组的指定位置拷贝元素到数组的另一个指定位置中。

            target必需。复制到指定目标索引位置。

            start可选。元素复制的起始位置。

            end可选。停止复制的索引位置 (默认为 array.length)。如果为负值,表示倒数。

copyWithin 

    fill 改变原来的数组

        array.fill(value, start, end)

        用于将一个固定值替换数组的元素。

        value必需。填充的值。

        start可选。开始填充位置,默认为0

        end可选。停止填充位置 (默认为 array.length)

JS 中 数组的常用操作_第13张图片
fill 

转换方法

    join

        array.join(separator)

        join() 方法用于把数组中的所有元素通过指定的分隔符进行分隔放入一个字符串,返回生成的字符串

        separator可选。指定要使用的分隔符。如果省略该参数,则使用逗号作为分隔符。

join

    split(字符串转数组)

   string.split(separator,limit)

    用于把一个字符串分割成字符串数组

    separator可选。字符串或正则表达式,从该参数指定的地方分割 string Object。

    limit可选。该参数可指定返回的数组的最大长度。如果设置了该参数,返回的子串不会多于这个参数指定的数组。如果没有设置该参数,整个字符串都会被分割,不考虑它的长度。

    注意: 如果把空字符串 ("") 用作 separator,那么 stringObject 中的每个字符之间都会被分割。

JS 中 数组的常用操作_第14张图片
split

 Array.of( ) 

    将一组值转换为数组

JS 中 数组的常用操作_第15张图片
 Array.of

Array.from( ) 

     Array.from方法用于将 两类对象 转为 真正的数组:类似数组的对象(array-like object)和可遍历(iterable)的对象(包括 ES6 新增的数据结构 Set 和 Map).

JS 中 数组的常用操作_第16张图片
Array.from( ) 

    toLocaleString

        数组转字符串

        返回一个表示数组元素的字符串。该字符串由数组中的每个元素的 toLocaleString() 返回值经调用 join() 方法连接(由逗号隔开)组成。

toLocaleString

排序方法

    reverse  改变原来的数组

        颠倒数组中元素的顺序。

        array.reverse()

reverse  

    sort  改变原来的数组

        对数组的元素进行排序。

        array.sort(sortfunction)

sort  

数组实例的 entries(),keys() 和 values() 

    返回一个遍历器对象,可以用for...of循环进行遍历

    keys()是对键名的遍历、values()是对键值的遍历,entries()是对键值对的遍历。

JS 中 数组的常用操作_第17张图片
ES6

你可能感兴趣的:(JS 中 数组的常用操作)