zoukankan      html  css  js  c++  java
  • JS_数组的操作

    1.join()方法

    <script>
        var wdc = [1,2,3,4,5];
        // 将数组中的参数用‘+’号连接,并转换为字符串
        var qqq = wdc.join('+');
        console.log(qqq)
    </script>

    结果:

     2.栈(后进先出)方法

      push():往数组的最后一项添加内容。

    <script>
        var wdc = [1,2,3,4,5];
        // 往数组的末端插入‘123’,并将插入后数组的长度返回
        var newlength = wdc.push('123');
        console.log(newlength);
        console.log(wdc);
    </script>

    结果:

       pop():从数组末尾删除最后一项

    <script>
        var wdc = [1,2,3,4,5];
        // 删除数组的最后一个元素,并将获取删除的最后一个元素
        var lastTtem = wdc.pop();
        console.log(lastTtem);
        console.log(wdc);
    </script>

    结果:

     3.队列(先进先出)方法

      unshift():往数组的第一项添加内容

    <script>
        var wdc = [1,2,3,4,5];
        // 往数组的开头插入‘123’,并将插入后数组的长度返回
        var newlength = wdc.unshift('qqq');
        console.log(newlength)
        console.log(wdc)
    </script>

    结果:

      shift():删除数组的第一项内容

    <script>
        var wdc = [1,2,3,4,5];
        // 删除数组的第一个元素,并将获取删除元素
        var firstItem = wdc.shift();
        console.log(firstItem)
        console.log(wdc)
    </script>

    结果:

     4.数组排序

      倒叙:

    <script>
        var wdc = [1,2,3,4,5];
        // 数组倒序
        wdc.reverse();
        console.log(wdc)
    </script>

    结果:

       ASCII码排序:

    <script>
        var wdc = [1,12,3,14,5];
        // ASCII码排序(根据字符ascii码一位一位的升序)
        wdc.sort()
        console.log(wdc)
    </script>

    结果:

       升序:

    <script>
        var wdc = [1,12,3,14,5];
        // 升序
        function compare(a,b){
            if(a < b){
                return -1;
            }else if(a > b){
                return 1;
            }else{
                return 0;
            }
      // 或:return a - b; } wdc.sort(compare) console.log(wdc)
    </script>

    结果:

      降序:

    <script>
        var wdc = [1,12,3,14,5];
        // 降序
        function compare1(a,b){
            if(a < b){
                return 1;
            }else if(a > b){
                return -1;
            }else{
                return 0;
            }
      // 或:return b - a;
    } wdc.sort(compare1) console.log(wdc) </script>

    结果:

     5.数组合并

    <script>
        var colors = ['red', 'blue'];
        // 将元素‘green’合并到数组colors,元素可以是对象、数组……
        var newColors = colors.concat('green');
        console.log(newColors)
    </script>

    结果:

     6.数组切割

    <script>
        var colors = ['red', 'blue', 'green'];
        // 从下标为1位置切割数组,包里后面的数据。
        var newColors1 = colors.slice(1)
        // 切割从下标为1的位置,直到下标为2的位置之前
        var newColors2 = colors.slice(1,2)
        console.log(newColors1)
        console.log(newColors2)
    </script>

    结果:

     7.splice() 删除、插入、替换

      删除:

    <script>
        var names = ['张三', 'lisi', 'wangwu', 'zhaoliu'];
        // 从0开始删除2个元素
        names.splice(0,2);
        console.log(names)
    </script>

    结果:

       插入:

    <script>
        var names = ['张三', 'lisi', 'wangwu', 'zhaoliu'];
        // 从1开始,删除0个元素,插入'qqqq', 'qweqr'。
        names.splice(1, 0, 'qqqq', 'qweqr');
        console.log(names)
    </script>

    结果:

       替换:

    <script>
        var names = ['张三', 'lisi', 'wangwu', 'zhaoliu'];
        // 从1开始,删除1个元素,插入'wdc'。(相当于替换~)
        names.splice(1, 1, 'wdc');
        console.log(names)
    </script>

    结果:

     8.位置

    <script>
        var names = ['张三', 'lisi', 'wangwu', 'lisi', 'zhaoliu'];
        // 从前往后查找‘lisi’的位置
        console.log(names.indexOf('lisi'))
        // 从后往前查找‘lisi’的位置
        console.log(names.lastIndexOf('lisi'))
        // 从小标为2的位置往后查找‘lisi’的位置
        console.log(names.indexOf('lisi', 2))
        // 从小标为2的位置往前查找‘lisi’的位置
        console.log(names.lastIndexOf('lisi', 2))
    </script>

    结果:

      如果查到了值,则返回值的下标,如果没有查到,则返回‘-1’。

     8.数组的迭代

       过滤:filter()

    <script>
        var numbers = [1,2,3,4,5,45,15,67,5,9,8,64]
        // 过滤掉数组中小于10的数值
        var filterResult = numbers.filter(function(item, insex, array){
            
            return item > 10
        })
        console.log(filterResult)
    </script>

    结果:

      映射:map()

    <script>
        var numbers = [1,2,3,4,5,45,15,67,5,9,8,64]
        // 将数组中的数值乘以2
        var mapersult = numbers.map(function(item,index,array){
    
            return item * 2
        })
        console.log(mapersult)
    </script>

    结果:

       遍历数组:forEach()

    <script>
        var numbers = [1,2,3,4,5,45,15,67,5,9,8,64]
        // 遍历数组中的值
        var mapersult = numbers.forEach(function(item,index,array){
            console.log(item)
        })
    </script>

    结果:

     9.map()方法的应用:

    <script>
        var oldArray = [
            {name:'zhangsan',age:13},
            {name:'lisi',age:14},
            {name:'wangwu',age:15}
            ]
        // 将数组oldArray中的name和age分别放到两个数组中。
        var newNames = oldArray.map(function(item,index,array){
            return item.name
        })
        var newAges = oldArray.map(function(item,index,array){
            return item.age
        })
        console.log(newNames)
        console.log(newAges)
    </script>

    结果:

  • 相关阅读:
    【搜索】棋盘 luogu-3956
    【动态规划】石子合并 luogu-1880
    【动态规划】合唱队形 luogu-
    【模拟】报名签到 luogu-4445
    【排序+贪心】导弹拦截 luogu-1158
    【模拟】不高兴的津津
    【模拟】选数 luogu-1037
    「JOISC2020」建筑装饰 4
    「清华集训」小 Y 和恐怖的奴隶主
    「CF708E」Student's Camp
  • 原文地址:https://www.cnblogs.com/wangdianchao/p/12616671.html
Copyright © 2011-2022 走看看