• 数组的常用方法


    一、数组的增删

    1.unshift()在数组前添加新加元素,返回值是数组的长度, 原数组改变:

    1. var arr = [1, 2]
    2. var len = arr.unshift(0)
    3. console.log(len) // 3
    4. console.log(arr) // [0, 1, 2]

    2. shift() 删除数组第一个元素,返回值是删除的元素, 原数组改变:

    1. var arr = [1,2,3]
    2. var del_item = a.shift()
    3. console.log(del_item ) // 1
    4. console.log(arr) // [2,3]

    3.push()在数组后添加新加元素,返回值是数组的长度, 原数组改变:

    1. var arr = [1, 2]
    2. var len = arr.push(3)
    3. console.log(len) // 3
    4. console.log(arr) // [1, 2, 3]

    4. pop() 删除数组最后一个元素,返回值是删除的元素, 原数组改变:

    1. var arr = [1, 2, 3]
    2. var del_item = arr.pop()
    3. console.log(del_item) // 3
    4. console.log(arr) // [1, 2]

    二、数组的查找 

    1.  indexOf() 不会改变原数组,返回找到的下标,否则返回-1

    indexOf(参数一,参数二)  参数一:查找的元素      参数二: 从哪个下标开始查找

    1. var a = [1,2,4,3,4,5]
    2. console.log(a.indexOf(4)) // 2

    2.  lastIndexOf() 不会改变原数组,返回找到的下标,否则返回-1

    lastIndexOf(参数一,参数二)  参数一:查找的元素      参数二: 从哪个下标开始查找

    1. var a = [1,2,4,3,4,5]
    2. console.log(a.indexOf(4,3)) // 4

    三、合并数组

    1.  concat() 拼接方法用来合并两个或多个数组合并两个或多个数组,返回新数组,不会改变原数组

    1. var a = [1,2,3]
    2. var b = [4,5]
    3. var c = a.concat(b)
    4. console.log(a) // [1,2,3]
    5. console.log(b) // [4,5]
    6. console.log(c) // [1,2,3,4,5]

    四、数组的切片

    1.  slice() 切片 slice(startIndex,endIndex) 返回从startIndex开始(包括),到endIndex(不包括)之间的原属组成的数组返回新数组,不改变原数组

    1. var a = [1,2,3]
    2. var b = a.slice(0, 1)
    3. var c = a.slice()
    4. console.log(b) // [1]
    5. console.log(c) // [1,2,3]
    6. // 负数表示从后往前数
    7. var d = a.slice(-1,-2)
    8. console.log(d) // [] 从左向右截取,所以说为[]
    9. var e = a.slice(-1)
    10. console.log(e) // [3]

    五、splice()方法实现增删

    1.  splice(开始位置, 删除的个数,元素)万能方法,可以实现增删改:改变数组本身

    1. let arr = [1, 2, 3, 4, 5];
    2. let arr1 = arr.splice(2, 0, 'haha')
    3. let arr2 = arr.splice(2, 3)
    4. let arr1 = arr.splice(2, 1, 'haha')
    5. console.log(arr1)//[1, 2, 'haha', 3, 4, 5]新增一个元素
    6. console.log(arr2)//[1, 2] 删除三个元素
    7. console.log(arr3)//[1, 2, 'haha', 4, 5] 替换一个元素

    六、数组转字符串

    1.  toString()此方法将数组转化为字符串

    1. let arr = [1, 2, 3, 4, 5];
    2. let str = arr.toString() //1,2,3,4,5

    2.  join() 方法用来将数组转换为字符串,不改变原数组,返回转换后的字符串

    1. var a = [1,2,3,4,5]
    2. console.log(a.join(',')) // 1,2,3,4,5
    3. console.log(a) // [1,2,3,4,5]

    七、数组的逆置

    1. reverse() 方法用于颠倒数组中元素的顺序。返回的是颠倒后的数组,会改变原数组。

    1. var a = [1,3,2,7,6]
    2. console.log(a.reverse()) // [6,7,2,3,1]
    3. console.log(a) // [6,7,2,3,1]

    八、数组过滤

    filter() 方法返回数组中满足条件的元素组成的新数组,原数组不变

    1. filter()的参数是一个方法
    2. var a = [1,2,3,4,11]
    3. // 第一个参数为一个方法,有三个参数,it:当前值 index:当前值下标 array:这个数组对象
    4. var b = a.filter(function(it, index, array){
    5. return it < 10
    6. })
    7. console.log(b) // [1,2,3,4]
    8. console.log(a) // [1,2,3,4,11]

    九、格式化数组

    1. map() 方法来根据需求格式化原数组,返回格式化后的数组。原数组不变

    1. var a = [1,2,3,4,5]
    2. // 参数同filter方法
    3. var b = a.map(function(it,index,array){
    4. return it + 1
    5. })
    6. console.log(b) // [2,3,4,5,6]
    7. console.log(a) // [1,2,3,4,5]

    十、判断数组元素

    1.  every() 对数组的每一项进行判断,全部为True, 则为True, 反之有一项为false  则为false

    1. var a = [1,2,3,4,5]
    2. var b = a.every(function(it, index, array){
    3. return it < 6
    4. })
    5. var c = a.every(function(it, index, array){
    6. return it < 3
    7. })
    8. console.log(b) // true
    9. console.log(c) // false

    2.  some()对数组的每一项都进行判断,有一项为true, 则返回为true

    1. var a = [1,2,3,4,5]
    2. var b = a.some(function(it, index, array){
    3. return it > 4
    4. })
    5. var c = a.some(function(it, index, array){
    6. return it > 5
    7. })
    8. console.log(b) // true
    9. console.log(c) // false

    十一、 数组遍历

    1.  forEach() 数组遍历 遍历整个数组,中途不能中断

    1. var arr = ['a','b','c']
    2. var copy = []
    3. arr.forEach(function(it){
    4. copy.push(it)
    5. })
    6. console.log(copy)

    十二、isArray()方法 用来判断一个元素是否为数组

    1. Array.isArray([]) // true
    2. Array.isArray({}) // false

     

  • 相关阅读:
    信号类型(雷达)——雷达波形认识(一)
    Java工程师面试题
    c++ 数组传递
    指派问题——匈牙利法
    seata的AT模式分析
    linux-ubuntu20.04配置syslog-server
    云原生应用开发培训,开启云计算时代的新征程
    Vue 2.0/3.0
    动捕设备在动画影视制作中的应用
    技术分享 | 详解SQL加密函数:AES_ENCRYPT()
  • 原文地址:https://blog.csdn.net/qq_52421092/article/details/126181937