Javascript数组方法

  1. 添加元素类:push、unshift

  2. 删除元素类:pop、shift、splice

  3. 数组转字符串类:toString、join

  4. 字符串转数组:Array.of,Array.at(根据索引获取对应的值),Array.flat(),Array.flatMap()

    var myArr = Array.of("Runoob","Google","Taobao")
    console.log(myArr);//['Runoob', 'Google', 'Taobao']
    
    let arr =['Banana', 'Orange', 'Apple', 'Mango'];
    console.log(arr.at(1));//Orange
    console.log(arr.at(-2)); // Apple
    
    flat 根据指定的递归深度返回一个新的数组
    let list = ['origin','red',['blue',['pink']]]
    console.log(list.flat());['origin', 'red', 'blue', Array(1)]
    
    console.log(list.flat(3));['origin', 'red', 'blue', 'pink']
    
    
    flatMap() 方法首先使用映射函数映射每个元素,然后将结果压缩成一个新数组,其结构深度为1
    
    const arr1 = [1, 2, [3], [4, 5,[8,9]], 6, []];
    const flattened = arr1.flatMap(num => num);
    console.log(flattened);// [1, 2, 3, 4, 5, Array(2), 6]
  5. 遍历类:forEach、reduce、reduceRight、map、filter、some(不会改变原数组)、every(不会改变原数组)

  6. let array = ['red','yellow','blue','pink'];
    array.forEach((item,index,self)=>{
        console.log(item,index,self) // red 0 ['red', 'yellow', 'blue', 'pink'] self输出的是数组本身
    })
    

    reduce() 方法对数组中的每个元素执行一个由您提供的reduce函数(升序执行),将其结果汇总为单个返回值。reduce方法可做的事情特别多,就是循环遍历能做的,reduce都可以做,比如数组求和、数组求积、数组中元素出现的次数、数组去重Q 等等

    举例:根据对象的动态属性查找对应的值

    
    let menu = "memberCenter":{
          "functional":{
            "strategy":{
              "StrategicPopup":{
                "children_list":""
              },
              "children_list":""
            },
            "children_list":""
          },
          "indicator":{
            "children_list":"indicator_vip_bg.png"
          },
    }
    let checkList =  ['memberCenter','functional','strategy'].reduce((pre,cur,index,arr,init)=>{
          return pre[cur]
        },menu)
    console.log(checkList ) // {"StrategicPopup":{"children_list":""}
    


    reduceRight() 方法的功能和 reduce() 功能是一样的,不同的是 reduceRight() 从数组的末尾向前将数组中的数组项做累加
     reduce() 对于空数组是不会执行回调函数的。

    every检测数组所有元素是否都符合指定条件,接收的是个数组,array.every((item)=>{return item != 0 })
    some:方法用于检测数组中的元素是否满足指定条件

    array.some(function(currentValue,index,arr),thisValue)
  7. 创建空数组:fill

    new Array(5).fill({type:'add'}) //填充空数组
    
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.fill("Runoob"); //输出:Runoob,Runoob,Runoob,Runoob

  8. 排序:sort

  9. 拼接:concat

  10. 复制:copyWithin

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    // 复制数组的前面两个元素到后面两个元素上
    fruits.copyWithin(2, 0);
    console.log(fruits) // Banana,Orange,Banana,Orange 
  11. 索引:indexOf、lastIndexOf

    let array = ['red','yellow','blue'];
    array.indexOf('red');// 0 输出下标
    
    array = ['red','yellow','blue','blue'];
    array.lastIndexOf('blue') //3 
  12. 翻转:reverse

  13. 浅拷贝:slice

  14. 查找:find、findIndex,inculdes

  15. 迭代数组:entries,keys

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    let a = fruits.entries();
    for(let item of a){
        console.log(a.next().value);
        //输出的值如下
        [0, "Banana"]
        [1, "Orange"]
        [2, "Apple"]
        [3, "Mango"]
    }
    
    
    keys获取键值
    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    var x = fruits.keys();
    fruits.forEach(()=>{
        console.log(x.next().value); //0,1,2,3  输出下标键值
    })
  16. 其他:from、isArray()、

    from 示例
    var myArr = Array.from("RUNOOB")
    console.log(myArr); // ['R', 'U', 'N', 'O', 'O', 'B']

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值