JavaScript之数组

作者: 追逐_chase | 来源:发表于2018-03-05 15:00 被阅读0次
    timg.jpg

    数组

    • 数组:是按次序排列的一组值。每个值的位置都有编号(从0开始),整个数组用方括号表示;
    • 就是一个容器可以存储很多的值,任何类型的数据都可以存放
    • 本质上,数组属于一种特殊的对象,typeof运算符会返回数组的类型是object。
    数组的声明
    • var array1 = [];
     <script>
            var arr = [1,2,3,4,5];
            console.log(arr);
        </script>
    
    数组的访问
    • 数组名[索引值]
    • 索引值是从0开始的
     var array = ["IT001","CC","DD","哈哈"];
            console.log(array[1]);
    //打印结果是:CC
    
    数组的长度
    • 数组的length属性,返回数组的成员数量。
    • 访问方法是: 数组名.length;
    • 清空数组的一个有效的方法就是可以length设为0
     var arr1 = ['a', 'b'];
        console.log(arr1.length);
    //打印结果是:2
    
    数组遍历
    • for循环遍历
      var array = ["IT001","CC","DD","哈哈"];
            for (var i = 0; i < array.length; i++){
    
                console.log(array[I]);
            }
    //打印结果:
    IT001
    CC
    DD
    哈哈
    
    
    
    • for…in 循环遍历
    var a = [1, 2, 3];
    
    for (var i in a) {
      console.log(a[I]);
    }
    // 1
    // 2
    // 3
    

    数组的添加和删除

    • push() 方法可向数组的末尾添加一个或多个元素,并返回新的长度。
     var arr = [1,3,5];
            arr.push(7);
            console.log(arr);
    结果变成 :  [1,3,5,7];
    
    
    • unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度
     var arr = [1,3,5] 
     arr.unshift(0) 
      结果变成 [0,1,3,5]
    
    
    • pop() 删除最后一个元素
    var  arr = [1,3,5]   →  arr.pop()  →  结果   [1,3]  
    
    
    • shift() 删除第一个元素
    var  arr = [1,3,5]   →  arr.shift()  →  结果   [3,5] 
    
    

    数组中一些常用的方法

    拼接
    • concat() 用于连接两个或多个数组。它不会改变现有的数组,而仅仅会返回被连接数组的一个副本
      var aa = [1,3,5];  var bb = ["a","b","c"];
           var cc =  aa.concat(bb);
           console.log(cc);
    // Array [ 1, 3, 5, "a", "b", "c" ]
    
    
    数组的截取
    • slice("开始位置","结束位置"); 用来截取数组的部分元素,返回一个新的数组
    var arr = ['A', 'B', 'C', 'D', 'E', 'F', 'G'];
    arr.slice(0, 3); // 从索引0开始,到索引3结束,但不包括索引3: ['A', 'B', 'C']
    
    数组转化成字符串
    • join() 将数组各个元素是通过指定的分隔符进行连接成为一个字符串。
    • 数组名.join(符号)
    var arr = [1,2,3];
            var str = arr.join("-");
            console.log(str);
            console.log(typeof str);
    // 打印结果: 1-2-3
    //   string
    
    字符串转化成数组
    • split()把一个字符串分割成字符串数组
    • 语法: stringObject.split(separator,howmany)
    var string1 = "h/2/3/l";
            var newArr =  string1.split("/");
            console.log(newArr);
    
    //结果是:Array [ "h", "2", "3", "l" ]
    
    • Array.isArray("object") 判断一个对象是否是数组 ,返回时bool值
        //数组
        var obj = [];
        var isTR = Array.isArray(obj);
        console.log(isTR);
    
    • every()方法 返回一个bool值
    /*
    arra.every(function(数组元素,索引) {  
        })
    */
    var arra = ["123","345","12"];
        arra.every(function (ele,index) {
            
            console.log(index);
            
            return true;
            
        });
    
    • filer() 过滤 返回一个新的数组
        /*
         * 3个参数
         * 1.数组的元素
         * 2.数组的索引
         * 3.被遍历的数组
         * */
        var arra = [10,20,30,40,50,60,70,80,90];
        var arr1 = arra.filter(function (ele,index,array) {
            
            return ele>40;
        })
        
        console.log(arr1);
    
    • splice("开始的位置","要删除的个数","要插入的元素")函数

      • 如果是前2个参数则是删除元素,3个参数都在则是添加元素
    • 从第2位开始删除0个元素,插入“drum”

    var myFish = ["angel", "clown", "mandarin", "surgeon"];
    //从第 2 位开始删除 0 个元素,插入 "drum"
    var removed = myFish.splice(2, 0, "drum");
    //运算后的 myFish:["angel", "clown", "drum", "mandarin", "surgeon"]
    //被删除元素数组:[],没有元素被删除

    • 从第3位开始删除1个元素
    var myFish = ['angel', 'clown', 'drum', 'mandarin', 'sturgeon'];
    var removed = myFish.splice(3, 1);
    //运算后的myFish:["angel", "clown", "drum", "sturgeon"]
    //被删除元素数组:["mandarin"]
    
    • 从第2位开始删除1个元素,然后插入“trumpet”
    var myFish = ['angel', 'clown', 'drum', 'sturgeon'];
    var removed = myFish.splice(2, 1, "trumpet"); 
    //运算后的myFish: ["angel", "clown", "trumpet", "surgeon"] 
    //被删除元素数组:["drum"]
    

    排他思想

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>单选 排他思想</title>
        <style>
            .damao{
                background-color: #FF6B39;
            }
        </style>
        <script>
            window.onload = function () {
    
                var btns = document.getElementsByTagName("button");
                for (var i = 0; i < btns.length; i ++){
    
                    btns[i].onclick = function () {
    
                        for (var j = 0; j < btns.length; j++){
                            btns[j].className = "";
                        }
    
                        this.className = "damao";
                    }
    
    
    
                }
    
            }
        </script>
    </head>
    <body>
    
    <button>排他思想</button>
    <button>排他思想</button>
    <button>排他思想</button>
    <button>排他思想</button>
    <button>排他思想</button>
    
    </body>
    </html>
    
    110.gif
    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>数组</title>
        <style>
            .box {
                width: 300px;
                height: 30px;margin: 100px auto;
                position: relative;
    
            }
            .box input {
                width: 200px;
                height: 25px;
            }
    
            .box label {
                font-size: 12px;
                color: #ccc;
                position: absolute;
                top: 8px;
                left: 10px;
                cursor: text;
            }
    
        </style>
        <script>
            window.onload = function () {
                function $(id) {
                    return document.getElementById(id);
                }
    
                $("txt").oninput =function () {
    
                    if (this.value == "") {
                        $("message").style.display = "block"
                    } else  {
                        $("message").style.display = "none"
                    }
    
                }
    
            }
        </script>
    </head>
    <body>
    
        <div class="box">
            <input type="text" id="txt">
            <label for="txt" id="message">国际大牌</label>
        </div>
    
    
    
    </body>
    </html>
    
    
    
    搜索框.png

    相关文章

      网友评论

        本文标题:JavaScript之数组

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