zoukankan      html  css  js  c++  java
  • JS基础知识梳理---Array对象

    A:数组的创建

    var arrA = new Array();
    var arrB = [];

    B:数组的属性 length

    var arr = [1,2,3,4,5,6];
    console.log(arr.length);//6

    C:数组转换成字符串,toString(),join();

    var arr = [1,2,3,4,5];
    console.log( arr.toString() );//1,2,3,4,5 在默认情况下会用逗号分隔
    console.log( arr.join("a") );//1a2a3a4a5 指定分隔字符

    D:数组的栈方法(后进先出),推入一项push(),取出最后一项pop();

    var arr = [1,2,3,4,5];
    arr.push("abc");
    console.log( arr );//[1, 2, 3, 4, 5, "abc"]
    arr.pop();
    arr.pop();
    console.log( arr );//[1, 2, 3, 4]

    E:队列方法(先进先出),推入unshift(),取出shift();

    var arr = [1,2,3,4,5];
    arr.unshift("abc");
    console.log( arr );//["abc", 1, 2, 3, 4, 5]
    arr.shift();
    arr.shift();
    console.log( arr );//[2, 3, 4, 5]

    F:数组排序,reverse()反转数组,sort()升序,可传入一个函数;

        var arr = [1,3,20,4,15];
        arr.reverse();
        console.log(arr);//[15, 4, 20, 3, 1] 反转位置
        arr.sort();
        console.log(arr);//[1, 15, 20, 3, 4] 升序排列
    
        arr.sort(compare);
        console.log(arr);//[1, 3, 4, 15, 20]
    
        function compare (valueA,valueB) {//-1,位置提前一位 1位置后退一位 0位置不变
            if( valueA < valueB ){//升序 < ,降序 >
                return -1;
            }else if( valueA > valueB ){
                return 1;
            }else{
                return 0;
            }
        }

    G:数组分割slice();用法和字符串中的slice是一样的

    var arr = [1,3,20,4,15];
    console.log(arr.slice(1));//[3, 20, 4, 15]
    console.log(arr.slice(1,3));//[3, 20]

    H:数组的删除,插入和替换,splice();

        var arr = [1,3,20,4,15];
        
        //删除,传入两个值,开始删除的角标,删除几项
        arr.splice(1,2);
        console.log(arr);//[1, 4, 15]
        
        //插入,传入三个或者多个参数,开始位置,要删除的个数,要插入的项
        arr.splice(1,0,'abc','def','g');
        console.log(arr);//[1, "abc", "def", "g", 4, 15]
        
        //替换,传入三个或者多个参数,起始位置,要删除的项,要插入的项
        arr.splice(1,2,'z','w','q','u');
        console.log(arr);//[1, "z", "w", "q", "u", "g", 4, 15]

    I:位置方法indexOf(),只有IE9+,firefox2+,chrome,Opera9.5+,Safari3+支持

    var arr = [1,3,2,3,7,2,10];
    //穿入一个值,返回这个值第一次出现的位置
    console.log(arr.indexOf(2));//2
    
    //穿入两个个值,第一个值为目标值,第二个是开始寻找的位置,返回这个值在寻找位置后第一次出现的位置
    console.log(arr.indexOf(2,3));//5

    J:数组中的最大值和最小值

    var arr = [1,3,2,3,7,2,10];
    //最大值
    console.log( Math.max.apply(null,arr) );//10
    //最小值
    console.log( Math.min.apply(null,arr) );//1
  • 相关阅读:
    P5362 [SDOI2019]连续子序列 思维题
    P5360 [SDOI2019]世界地图 虚树+最小生成树
    P4565 [CTSC2018]暴力写挂 边分治+虚树
    BZOJ2870. 最长道路tree 并查集/边分治
    P4103 [HEOI2014]大工程 虚树
    P4220 [WC2018]通道 虚树+边分治
    P3261 [JLOI2015]城池攻占 可并堆
    积水问题
    23. 合并K个排序链表
    21. 合并两个有序链表
  • 原文地址:https://www.cnblogs.com/xxyy1122/p/4763666.html
Copyright © 2011-2022 走看看