JS- 数组的方法

作者: 刘淘 | 来源:发表于2020-06-13 16:50 被阅读0次

可利用以下几种方式清空数组: 直接赋空值,改变数组长度为0,splice(0), 循环pop/shift
直接赋空值与改变数组长度为0区别:前者只清空当前数组,与之赋值之前的数组不会被清空,而后者都会被清空


image.png
image.png

😈
增 在首尾增加元素用unshift /push
删 在首尾删除元素用shift/pop 删除指定起始下标位置元素用slice
改 替换指定索引起 N个元素用splice
查 find findIndexOf indexof lastIndexOf includes
切 取片段元素用slice


  1. push在尾部追加元素(入栈),返回新的长度
  2. pop 删除尾部元素(出栈),返回当前删除的元素
image.png
  1. unshift 在头部添加元素(入栈),返回的新的长度
  2. shift删除头部元素,并返回删除的元素
image.png
  1. fill对已有数组进行填充,可指定填充的索引位置范围


    image.png

5.slice对数组进行截取 包前不包后,不改变原有数据,返回截取到的元素
(slice意思:切一片 切片)


image.png

6.splice删除元素,并数组指定位置加入新元素,改变原数组,返回删掉的元素,
splice(开始下标,截取个数,元素1,元素2...)
splice:拼接 粘接


image.png image.png
  1. find数组中是否包含指定元素,查找到第一个指定元素就返回元素,没有就返回undefined.
    参数为回调函数
    适用于引用类型查找


    image.png
  2. findIndex数组中是否包含指定元素,查找到就返回元素索引,没有就返回-1
    参数为回调函数
    适用于引用类型查找


    image.png

9.includes查找数组中是否包含指定元素,包含就返回true,否则就返回false


image.png
  1. indexOf从数组开始或者指定位置,正向查找指定元素,如果找到则返回该元素对应的索引,否则返回-1
image.png

11.lastIndexOf从数组结尾或指定位置,反向查找指定元素,如果找到则返回该元素对应的索引,否则返回-1

image.png

12.every()判断数组每一项是否都满足指定的条件,如都满足返回true,否则返回false
13.some()判断数组某一项是否都满足指定的条件,如满足返回true,否则返回false

14.filter()过滤满足指定条件的数组,返回结果仍然是数组

15.map()对已有数组进行二次加工,返回结果为加工后的新数组

当原数组的成员为引用类型时,加工后原数组也发生变化了,如果不希望改变原数组,可采用Object.assign,扩展运算符(...)生成新成员

16.reduce() 利用reduce对数组进行累积操作,即将上一次对数组项的操作结果作为下次循环的初始值。


image.png
const array = [1, 2, 2, 3, 4, 5, 60]
//利用reduce计算指定元素重复出现的次数
function getRepeatCount(array, elem) {
    return array.reduce((pre, curr, currIn, arry) => {
        debugger
        if (curr === elem) {
            pre += 1
        }
        return pre
    }, 0)
}
console.log(getRepeatCount(array, 2))
// 去除数组中重复的元素
const nums4 = [1, 2, 3, 1, 1, 2]
const arr = nums4.reduce((pre, cur) => {
    if (!pre.includes(cur)) {
        pre.push(cur)
    }
    return pre
}, [])
console.log(arr)  // 1,2,3

相关文章

  • 数组

    JS-数组 方法: Array.isArray(obj) : 判断对象是否是Array,是返回true,不是返回f...

  • JS- 数组的方法

    可利用以下几种方式清空数组: 直接赋空值,改变数组长度为0,splice(0), 循环pop/shift直接赋空值...

  • js-数组

    数组

  • JS-数组

    数组 检测是否为数组的方法 添加删除数组元素方法 筛选数组 //一个数组[1300,2400,2500,1100,...

  • js-数组,字符串的方法

    【数学方法】 【字符串方法】 【数组方法】

  • js-手写数组常用方法的实现

    前言 数组的api比较多,下面主要列举一些常用的api实现,主要是参考MDN上Array的Polyfill来实现的...

  • JSBridge混合应用(HyBird App)实现原理

    js与native层相互通讯 native->js: WebView.loadUrl() 方法js->native...

  • js-数组的遍历

    关于数组的遍历我们可以有很多方法,for循环,forEach方法,map方法等等,定义一个数组arry,各方法的使...

  • js-数组的删除

    数组的删除

  • js-数组克隆

    数组克隆不考虑原数组是否发生改变 数组克隆原数组不发生改变

网友评论

    本文标题:JS- 数组的方法

    本文链接:https://www.haomeiwen.com/subject/nkpatktx.html