美文网首页
数组 数组常用方法

数组 数组常用方法

作者: 张明越 | 来源:发表于2019-06-11 22:50 被阅读0次

    数组

    相当于Python的列表

    //面向对象的方式创建

    var aRr01 = new Array(1,2,3,'abc');

    //直接创建

    var aRr02 = [1,2,3,'def'];//推荐使用,性能更高

    //获取数组的成员数量(长度)

    // alert(aRr02.length);//弹出4

    // alert(aRr02[3]);//弹出cdf

    var aRr03 = [[1,2,3],['a','b','c','d'],[true,false]];

    // alert(aRr03.length);//弹出3

    // alert(aRr03[1].length);//弹出3

    alert(aRr03[1][2]);//弹出c


    数组常用方法

    join方法能把成员合并

    push方法能在末尾增加一个

    pop方法能在末尾减少一个

    unshift方法能在开头增加一个

    shift方法能在开头减少一个

    reverse反转

    indexof 查找

    splice 增加 删减 插入替换


    通过标签获取元素

    根据id为唯一标识去获取页面上的元素

    还可以通过class去获取

    根据标签名获取元素


    循环语句

    通过循环语句可以反复的执行一段代码多次

    while循环

    语法:

    while(条件表达式){ 

          语句...

    }

    while语句在执行时,先对条件表达式进行求值判断,

    如果值为true,则执行循环体,循环体执行完毕以后,继续对表达式进行判断

    如果为true,则继续执行循环体,以此类推

    如果值为false,则终止循环

    do...while循环

    语法:

    do{

    语句...

    }while(条件表达式)

    执行流程:

    do...while语句在执行时,会先执行循环体,

    循环体执行完毕以后,在对while后的条件表达式进行判断,

    如果结果为true,则继续执行循环体,执行完毕继续判断以此类推

    如果结果为false,则终止循环

    实际上这两个语句功能类似,不同的是while是先判断后执行,

    而do...while会先执行后判断,

    do...while可以保证循环体至少执行一次,而while不能

    for语句,也是一个循环语句,也称为for循环

    在for循环中,为我们提供了专门的位置用来放三个表达式:

    1.初始化表达式

    2.条件表达式

    3.更新表达式

    for循环的语法:

    for(①初始化表达式;②条件表达式;④更新表达式){

    ③语句...

    }

    for循环的执行流程:

    ①执行初始化表达式,初始化变量(初始化表达式只会执行一次)

    ②执行条件表达式,判断是否执行循环。

    如果为true,则执行循环③

    如果为false,终止循环

    ④执行更新表达式,更新表达式执行完毕继续重复②

    任意一种循环都可以互相嵌套


    数组去重

    var aRr = [1,3,4,1,6,9,1,2,5,3,1,6,5,4,4];

    var aRr2 = [];

    for(var i=0; i<aRr.length; i++){

    //判断元素第一次出现的位置,恰好是当前索引时,就将元素放入新数组

    if(aRr.indexOf(aRr[i]) == i){

    aRr2.push(aRr[i]);

    }

    }

    alert(aRr2);//1,3,4,6,9,2,5


    字符串处理的方法

    split切割

    /*字符串切断转成数组*/

    var sTr = '2018-06-20';

    var aRr = sTr.split('-');

    // alert(aRr);//2018,06,20

    // console.log(aRr);

    var aRr2 = sTr.split('');

    // console.log(aRr2);

    /*实际上就是修改了<title>标签的内容*/

    // document.title = aRr2;

    var sTr2 = '#div1';

    var sTr3 = '.div1';

    /*获取指定索引的字符*/

    var sTr4 = sTr2.charAt(0);

    if(sTr4 == '#'){

    // alert('id选择器');

    }

    /*查看子串第一次出现的位置*/

    var sTr5 = 'Microsoft Yahei';

    var num = sTr5.indexOf('Yahei');

    // alert(num);//10

    var num2 = sTr5.indexOf('xihei');

    // alert(num2);//没有找到就弹出-1

    /*substring截取子串*/

    //从10开始,截到15(包括开始位置,不包括结束位置)

    // var sTr6 = sTr5.substring(10,15);//Yahei

    //从10开始截取到末尾

    var sTr6 = sTr5.substring(10);//Yahei

    // alert(sTr6);

    /*全部转为大写字母*/

    // alert(sTr6.toUpperCase());//YAHEI

    /*全部转为小写字母*/

    alert(sTr6.toLowerCase());//yahei


    字符串反转

    var sTr = "123asdf79888asdfe21";

    //1、split字符串转成数组

    //2、reverse数组反转

    //3、join数组转成字符串

    var sTr2 = sTr.split('').reverse().join('');

    alert(sTr2);//12efdsa88897fdsa321


    定时器弹框

    .pop{

    width: 400px;

    height: 300px;

    background-color: #fff;

    border: 1px solid #000;

    /*固定定位*/

    position: fixed;

    /*左上角位于页面中心*/

    left: 50%;

    top: 50%;

    /*让div向左偏移半个宽度、向上偏移半个高度,使div位于页面中心*/

    margin-left: -200px;

    margin-top: -150px;

    /*弹窗在最上面*/

    z-index: 9999;

    }

    /*遮罩样式*/

    .mask{

    position: fixed;

    width: 100%;

    height: 100%;

    background-color: #000;

    left: 0;

    top: 0;

    /*设置透明度30%*/

    opacity: 0.3;

    filter: alpha(opacity=30);/*兼容IE6、7、8*/

    /*遮罩在弹窗的下面,在网页所有内容的上面*/

    z-index: 9990;

    }

    .pop_con{

    display: none;/*默认不显示,用定时器显示*/

    }

    /*

    setTimeout 只执行一次的定时器

    clearTimeout 关闭只执行一次的定时器

    setInterval 反复执行的定时器

    clearInterval 关闭反复执行的定时器

    */

    window.onload = function(){

    var oPop = document.getElementById('pop');

    var oShut = document.getElementById('shutOff');

    /*setTimeout(showPop, 3000);//开启定时器,3秒后调用函数showPop()弹框

    function showPop(){

    oPop.style.display = 'block';//显示弹框和遮罩

    }*/

    //开启定时器的简写方式:调用匿名函数

    setTimeout(function(){

    oPop.style.display = 'block';

    }, 3000);

    oShut.onclick = function(){

    oPop.style.display = 'none';//关闭弹框和遮罩

    }

    }

    </script>

    </head>

    <body>

    <h1>首页标题</h1>

    <p>页面内容</p>

    <a href="http://www.baidu.com">百度网</a>

    <div class="pop_con" id="pop">

    <div class="pop">

    <h3>提示信息!</h3>

    <a href="#" id="shutOff">关闭</a>

    </div>

    <div class="mask"></div>

    </div>


    定时器基本用法

    //单次定时器

    var timer = setTimeout(function(){

    alert('hello!');

    }, 3000);

    //清除单次定时器

    clearTimeout(timer);

    //反复循环定时器

    var timer2 = setInterval(function(){

    alert('hi~~~');

    }, 2000);

    //清除反复循环定时器

    clearInterval(timer2);


    定时器动画

    .box{

    width: 100px;

    height: 100px;

    background-color: gold;

    position: fixed;

    left: 20px;

    top: 20px;

    }

    </style>

    <script type="text/javascript">

    window.onload = function(){

    var oBox = document.getElementById('box');

    var left = 20;

    //反复循环定时器,每30毫秒修改一次盒子的left值

    var timer = setInterval(function(){

    left += 2;

    oBox.style.left = left + 'px';

    //当left值大于700时停止动画(清除定时器)

    if(left > 700){

    clearInterval(timer);

    }

    },30);

    }

    相关文章

      网友评论

          本文标题:数组 数组常用方法

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