zoukankan      html  css  js  c++  java
  • js-08-数组学习

    一、数组语法格式

    var name=[item1,item2,......]

    二、数组的声明创建

    var arr=new Aarray( )    //声明一个空数组对象
    var arr=new Array(length)   //声明一个指定长度的数组
    var arr=[元素]                   //声明数组(最常用方法)

      注:js中的数组声明不用指定长度,js的数组长度不固定,会随着元素的数量改变而改变。

    a:判断是否是数组类型(typeOf arr值为object)

    console.log(Array.isArray(xxxx))→ 返回值为true或者false

    三、通过for循环遍历数组

    for(var i=0;i<arr.length;i++)
        alert(arr[i]);
    }
    
    for-in:
        for (var p in fruits){                           //遍历数组和对象
        document.write(p+'<br>')                //p遍历下标,
        document.write(fruits[p]+"<br>");
    }

     四、forEach()方法调用于数组的每个元素,并将元素传递给回调函数。对于空数组是不会执行回调函数的。

        //回调函数(callback)是以一个以形参形式传递给另一个函数的函数,并且该函数必须等另一个函数执行完才会被调用

    var text = "";
        fruits.forEach(myFunction);
        document.write(text) ;
        function myFunction(value) {
         text +=  value + "<br>";
        } 
        console.log(typeof fruits.forEach);    

    五、isArray识别数组

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
        alert(Array.isArray(fruits));
            
        //语法:Array.isArray(obj)

    六、toString(将逻辑值转换为字符串,并返回结果)

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
            document.write(fruits.toString("")+'<br>');
                console.log(typeof(fruits)); //类型对象
                console.log(typeof(fruits.toString()));//toString转换成字符串
        join() 方法也可将所有数组元素结合为一个字符串。
             document.write(fruits.join("*")) ;    

    七、Popping 和 Pushing、shift、unshift、delete、splice、concat、slice

    a:pop()方法从数组中删除最后一个元素。

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.pop()
        document.write(fruits+'<br>');
        //返回被删除的值:Banana,
        document.write(fruits.pop()+'<br>');

    b:push()方法(在数组结尾处)向数组添加一个新的元素

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.push("Kiwi")
            document.write(fruits) ;
            //返回push() 方法返回新数组的长度:   
            document.write(fruits.push("Kiwi")+'<br>') ;    //5

    c:shift()会删除首个数组元素,并把所有其他元素“位移”到更低的索引。

    var fruits = ["Banana", "Orange", "Apple", "Mango"];
    fruits.shift();
    		document.write(fruits+'<br>') ; 
    		console.log(fruits[0]);    //Orange
    		document.write(fruits.shift()+'<br>') ; 

    d:unshift() 方法(在开头)向数组添加新元素,并“反向位移”旧元素.

    var fruits = ["Banana", "Orange", "Apple", "Mango"];

      fruits.unshift("lemon")
      document.write(fruits+'<br>');
      console.log(fruits[0]); //lemon
      document.write(fruits.unshift("lemon")) ;//5 unshift() 方法返回新数组的长度 

    e:delete 运算符来删除,删除元素会在在数组留下未定义的空洞。

    var fruits = ["Banana", "Orange", "Apple", "Mango"]; 

      delete fruits[0];
      document.write(fruits+'<br>')
      console.log("第一种水果是:" + fruits[0]);

    f:splice() 方法可以进行添加,删除,替换.

    var fruits = ["Banana", "Orange", "Apple", "Mango"];

      //第一个参数:定义了应添加新元素的位置(拼接)。
           //第二个参数:定义应删除多少元素。
      //第三个参数:插入元素
      //splice() 方法返回一个包含已删除项的数组
      //可以通过splice()替换数组元素

      var removed = fruits.splice(1,2, "Lemon", "Kiwi");
          document.write("新数组:<br>" + fruits+"<br>");
       document.write ( "已删除项:<br> " + removed +"<br>");
      //可以通过splice()删除数组元素
      var removed = fruits.splice(1,2);
        document.write("新数组:<br>" + fruits+"<br>");
      //可以通过splice()添加数组元素
      var removed = fruits.splice(0,0,"Lemon", "Kiwi");
        document.write("新数组:<br>" + fruits+"<br>");

    g:concat合并(链接)数组.

      var first= [1, 2];
       var second= [3, 4, 5];
        document.write("第一个数组:"+first+"<br>");
        document.write("第二个数组:"+second+"<br>");
      var sum= first.concat(second);
        document.write( "合并结果:" + sum+"<br>");
      var three= [6, 7, 8];
        document.write("第三个数组:"+three+"<br>");
      var arr4 = first.concat( second,three);
        document.write("合并多个数组:" +arr4+"<br>") ;

    h:slice() 方法用数组的某个片段切出新数组。/slice() 方法创建新数组。它不会从源数组中删除任何元素。

    var fruits = ["Banana", "Orange", "Lemon", "Apple", "Mango"];

        document.write(fruits + '<br>');
      var citrus = fruits.slice(1);//一个参数,从"orange"开始到结尾切出
      var citrus = fruits.slice(3);//从"Apple"开始到结尾切出
        document.write( citrus + "<br>" );
      console.log(citrus[0]);//返回Orange
       //slice() 从开始位置到结束位置切出,不包括结束位置。
      var citrus = fruits.slice(1,3);
        document.write("可接受两个参数" + citrus);//Orange,Lemon

     

  • 相关阅读:
    无线桥接(WDS)如何设置?
    Linux内核的整体架构简介
    Efuse--芯片存储
    Linux下编写和加载 .ko 文件(驱动模块文件)
    统计难题
    最少拦截系统
    (比赛)B
    (比赛)A
    F
    K
  • 原文地址:https://www.cnblogs.com/fengyinghui/p/11380256.html
Copyright © 2011-2022 走看看