JS认识3

作者: 菲龍探雲 | 来源:发表于2016-07-15 16:11 被阅读34次
    • 数组方法里push、pop、shift、unshift、join、split分别是什么作用。(*)

    1. push()
    定义
    向数组的末尾添加一个或多个元素,并返回新的长度。
    语法
    array.push(newelement1,newelement2,....newelementN)

    var aArray0=[0,1];
    aArray0.push(2,3);
    console.log (aArray0);//aArray0[0,1,2,3]
    console.log(aArray0.push())  //4 返回新的长度
    
    var aArray1=[0,1]
    aArray1.push()        //不写参数不会报错 但是没实际意义
    console.log (aArray1)  //aArray1[0,1]
    console.log(aArray1.push() )  //2
    
    

    2. pop()
    定义
    用于删除并返回数组的最后一个元素。
    语法
    array.pop()

    var aArray00=[];
    aArray0.pop();
    console.log(aArray0)  //删除一个空数组不会报错 但是无意义
    console.log(aArray0.pop()) //在返回值的时候会报错
    
    var aArray1=[1,2,3];
    aArray1.pop();
    console.log(aArray1);//aArray1[1,2]
    console.log (aArray1.pop())  //2
    

    3. shift()
    定义
    用于把数组的第一个元素从其中删除,并返回第一个元素的值。
    语法
    arrayObject.pop()

    var aArray0=[0,1,2];
    aArray0.shift();
    console.log(aArray0);          //[1,2]
    console.log(aArray0.shift()); //[1]  
    
    var aArray0=[];
    aArray0.shift();
    console.log(aArray0);         //[]
    console.log(aArray0.shift());  //undefined
    

    4.unshift
    定义
    unshift() 方法可向数组的开头添加一个或更多元素,并返回新的长度。
    语法
    array.unshift(newelement1,newelement2,....newelementN)

    var aArray0=[2,3];
    aArray0.unshift(0,1);
    console.log(aArray0);               //[0,1,2,3]
    console.log(aArray0.unshift()); //4
    
    Paste_Image.png

    5. join
    定义
    用于把数组中的所有元素放入一个字符串其用指定的分隔符将其分开
    语法
    array.join(separator)

    var aArray0=[0,1,2,3,4,5];
    aArray0.join();
    console.log(aArray0);              //[0,1,2,3,4,5]  join不会改变原来的数组
    console.log(aArray0.join());       //0,1,2,3,4,5  不写参数默认用,隔开
    
    var aArray1=["h","e","l","l","o"];
    console.log(aArray1.join("-"));   //h-e-l-l-o
    

    6.\split()
    定义
    用于把一个字符串分割成字符串数组
    语法
    string.split(separator,howmany)

    var sString0 = "hellow world,this is me";
    console.log(sString0.split(""));             //array[23]
    console.log(sString0.split(" "));            //array[4]
    console.log(sString0.split(","));            //array[2] 
    console.log(sString0.split("",3));     //[h,e,l]
    console.log(sString0.split("l",3));  //["he","","ow wor"]
    

    代码一
    http://js.jirengu.com/manexenuvu/2/edit

    Paste_Image.png

    代码二
    http://js.jirengu.com/gegubayeqi/1/edit

    Paste_Image.png

    代码三
    http://js.jirengu.com/gegubayeqi/2/edit

    Paste_Image.png

    上面的find()无法在一组数组中寻找重复

    http://js.jirengu.com/gegubayeqi/5/edit

    Paste_Image.png

    有个疑问
    如果

    result.push(i+1)//如果没有+1 可能会返回[]和[0] 这会走同一逻辑 怎么区分它
    们   让[]走false   让[0]走true
    

    ps:解决了 可以用length

    代码四
    http://js.jirengu.com/gegubayeqi/7/edit

    Paste_Image.png

    代码五
    http://js.jirengu.com/vixegofiko/2/edit

    Paste_Image.png

    代码六
    http://js.jirengu.com/warigapezi/1/edit

    Paste_Image.png

    代码七
    http://js.jirengu.com/niqeloriwu/2/edit

    arr = ["a", "b"];
    arr.push( function() { alert(console.log('hello hunger valley')) } );
    //push arr数组进去一个function(){} 
    //arr=function(){}  arr["a","b",funciton() { alert(console.log('hello hunger //valley')) }]
    arr[arr.length-1]() 
     // arr.length-1=2
    //arr[2]=function() { alert(console.log('hello hunger valley')) }
    //执行function
    //下面不太清楚是我的猜想
    // alert(console.log('hello hunger valley'))  先执行console.log执行完销毁
    //alert(undefined)
    

    代码八
    http://js.jirengu.com/niqeloriwu/2/edit

    ** 遍历的性能有点问题 代码10中有优化**


    Paste_Image.png

    代码九
    http://js.jirengu.com/xuxoqaheno/1/edit

    Paste_Image.png

    代码10
    ** 对于代码8相同的遍历有所优化 **
    http://js.jirengu.com/xuxoqaheno/2/edit

    Paste_Image.png

    代码11

    http://js.jirengu.com/xuxoqaheno/3/edit

    Paste_Image.png

    代码12

    http://js.jirengu.com/xuxoqaheno/4/edit

    Paste_Image.png

    代码13
    http://js.jirengu.com/xuxoqaheno/6/edit

    Paste_Image.png

    代码14
    http://js.jirengu.com/xuxoqaheno/8/edit

    Paste_Image.png

    代码15
    http://js.jirengu.com/xuxoqaheno/7/edit

    Paste_Image.png

    代码16

    http://js.jirengu.com/joqovosiri/1/edit

    Paste_Image.png

    本教程版权归菲龍探雲和饥人谷所有,转载须说明来源

    相关文章

      网友评论

        本文标题:JS认识3

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