JS(四)数组和循环语句

本文详细介绍了JavaScript中定义和操作数组的各种方法,包括length属性、join()、push()、pop()、unshift()、shift()、reverse()、indexOf()以及splice()等。此外,还讲解了如何处理多维数组,并展示了使用for循环和while循环遍历数组的示例。同时,文章给出了数据去重的实现,利用indexOf()避免数组中重复元素的存在。
摘要由CSDN通过智能技术生成

数组定义

数组就是一组数据的集合

js定义数组方法:

        //对象的实例创建
        var aArray1 = new Array(1,2,'sadf');
        //直接量创建
        var aArray2 = [1,2,'sadf'];
        alert(aArray1);
        alert(aArray2);

数组操作方法

定义一个数组:

        var alist = [1,2,3,'dasda'];
  1. 获取数组的长度:alist.length;
        alert(alist.length);//弹出4
  1. 用下标操作数组的某个数据:alist[2];
		alert(alist[2]);//弹出3
  1. join()将数组成员通过以一个分隔符合并成字符串;
        alert(alist.join(''));//弹出123dasda
        alert(alist.join('-'));//弹出1-2-3-dasda

注:不改变alist数组本身,只是有一个返回值。

  1. push()和pop()从数组最后增加成员或删除成员;
        alist.push(5);
        alert(alist);//弹出1,2,3,dasda,5
        alist.pop();
        alert(alist);//弹出1,2,3,dasda

注:会改变数组本身。

  1. unshift()和shift()从数组前面增加成员或删除成员;
        alist.unshift(8);
        alert(alist);//弹出8,1,2,3,dasda
        alist.shift();
        alert(alist);//弹出1,2,3,dasda

注:会改变数组本身。

  1. reverse()将数组反转;
        alert(alist.reverse());//弹出dasda,3,2,1

注:不改变alist数组本身,只是有一个返回值。

  1. indexOf()返回数组中元素第一次出现的索引值;
        var alist1 = [1,2,1,3]
        alert(alist1.indexOf(1));//弹出0
  1. splice()在数组中增加或删除后成员;
        alist.splice(1,2,'a','b','c');//从第一个元素开始,删除两个元素(不包括第一个),在此位置上增加a,b,c这三个元素。
        alert(alist);//弹出1,a,b,c,dasda

注:会改变数组本身。

多维数组

多维数组指的是数组的成员也是数组的数据。
批量操作数组中的数据,需要用到循环语句。

            var aArray = [[1,2,3],['a','b','c'],[1,5,'g']];
            alert(aArray[2][2]);//弹出g

循环语句

程序中进行有规律的重复性操作,需要用到循环语句。
常用于批量提取数组中的数据。

for循环

		for(var i=0; i<len;i++){
		.......
		}

练习

  1. 将数组中的数据分别用弹框弹出
        window.onload = function(){
            var aList = [1,2,5,6,7,9,8,3];
            var len = aList.length;
            for(var i=0;i<len;i++){
                alert(aList[i]);//弹出1,2,5,6,7,9,8,3
            }
        }
  1. 将数组中的数据放入到页面中的列表里
        window.onload = function(){
            var aList = ['a','b','c','d','e','f'];
            var sUl = document.getElementById('ul');
            var len = aList.length;
            for(var i=0;i<len;i++){
                sUl.innerHTML += '<li>' + aList[i] + '</li>';
            }
        }

效果:
在这里插入图片描述

while循环(用的少)

		var i=0while(i<8){
		.....
		i++;
		}

数据去重

        window.onload = function(){
            var aList = [1,2,3,4,1,2,3,4,5,6,9,8,7,8,9,5,2,1];

            var aList_null = [];

            var len = aList.length;

            for(var i=0;i<len;i++){
                if(aList.indexOf(aList[i]) == i){
                    aList_null.push(aList[i]);

                }
            }

            alert(aList_null.sort());//弹出1,2,3,4,5,6,7,8,9。不加sort弹出1,2,3,4,5,6,9,8,7

        }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值