AI 概述
什么是数组如何创建数组数组赋值向数组增加一个新元素使用数组元素数组属性 length二维数组编程练习 本文内容主要讲解数组的概念,如何创建、赋值、使用数组,如何获得数组长度。 什么是数组 们知道变量用来存储数据,一个变量只能存储一个内容。假设你想存储 10 个人的姓名或者存储 20 个人的数学成绩...
目录
文章目录隐藏
  1. 什么是数组
  2. 如何创建数组
  3. 数组赋值
  4. 向数组增加一个新元素
  5. 使用数组元素
  6. 数组属性 length
  7. 二维数组
  8. 编程练习

本文内容主要讲解数组的概念,如何创建、赋值、使用数组,如何获得数组长度。

什么是数组

们知道变量用来存储数据,一个变量只能存储一个内容。假设你想存储 10 个人的姓名或者存储 20 个人的数学成绩,就需要 10 个或 20 个变量来存储,如果需要存储更多数据,那就会变的更麻烦。我们用数组解决问题,一个数组变量可以存放多个数据。好比一个团,团里有很多人,如下我们使用数组存储 5 个学生成绩。

什么是数组

数组是一个值的集合,每个值都有一个索引号,从 0 开始,每个索引都有一个相应的值,根据需要添加更多数值。

如何创建数组

使用数组之前首先要创建,而且需要把数组本身赋至一个变量。好比我们出游,要组团,并给团定个名字“云南之旅”。

创建数组语法:

var myarray=new Array();

如何创建数组

我们创建数组的同时,还可以为数组指定长度,长度可任意指定。

var myarray= new Array(8); //创建数组,存储 8 个数据。

注意:
1.创建的新数组是空数组,没有值,如输出,则显示 undefined。
2.虽然创建数组时,指定了长度,但实际上数组都是变长的,也就是说即使指定了长度为 8,仍然可以将元素存储在规定长度以外。

数组赋值

数组创建好,接下来我们为数组赋值。我们把数组看似旅游团的大巴车,大巴车里有很多位置,每个位置都有一个号码,顾客要坐在哪个位置呢?

第一步:组个大巴车
第二步:按票对号入座
        大巴车的 1 号座位是张三
        大巴车的 2 号座位是李四

数组的表达方式:

第一步:创建数组 var myarr=new Array(); 
第二步:给数组赋值
        myarr[1]=" 张三";
        myarr[2]=" 李四";

下面创建一个数组,用于存储 5 个人的数学成绩。

var myarray=new Array(); //创建一个新的空数组
myarray[0]=66; //存储第 1 个人的成绩
myarray[1]=80; //存储第 2 个人的成绩
myarray[2]=90; //存储第 3 个人的成绩
myarray[3]=77; //存储第 4 个人的成绩
myarray[4]=59; //存储第 5 个人的成绩

注意:数组每个值有一个索引号,从 0 开始。

我们还可以用简单的方法创建上面的数组和赋值:

第一种方法:

var myarray = new Array(66,80,90,77,59);//创建数组同时赋值

第二种方法:

var myarray = [66,80,90,77,59];//直接输入一个数组(称 “字面量数组”)

注意:数组存储的数据可以是任何类型(数字、字符、布尔值等)

向数组增加一个新元素

上一节中,我们使用 myarray 变量存储了 5 个人的成绩,现在多出一个人的成绩,如何存储呢?

向数组增加一个新元素

只需使用下一个未用的索引,任何时刻可以不断向数组增加新元素。

myarray[5]=88; //使用一个新索引,为数组增加一个新元素

使用数组元素

我们知道数组中的每个值有一个索引号,从 0 开始,如下图, myarray 变量存储 6 个人的成绩:

使用数组元素

要得到一个数组元素的值,只需引用数组变量并提供一个索引,如:
第一个人的成绩表示方法:myarray[0]
第三个人的成绩表示方法: myarray[2]

数组属性 length

如果我们想知道数组的大小,只需引用数组的一个属性 length。Length 属性表示数组的长度,即数组中元素的个数。

语法:

myarray.length; //获得数组 myarray 的长度

注意:因为数组的索引总是由 0 开始,所以一个数组的上下限分别是:0 和 length-1。如数组的长度是 5,数组的上下限分别是 0 和 4。

var arr=[55,32,5,90,60,98,76,54];//包含 8 个数值的数组 arr 
document.write(arr.length); //显示数组长度 8
document.write(arr[7]); //显示第 8 个元素的值 54

同时,JavaScript 数组的 length 属性是可变的,这一点需要特别注意。

arr.length=10; //增大数组的长度
document.write(arr.length); //数组长度已经变为 10

数组随元素的增加,长度也会改变,如下:

var arr=[98,76,54,56,76]; // 包含 5 个数值的数组
document.write(arr.length); //显示数组的长度 5
arr[15]=34;  //增加元素,使用索引为 15,赋值为 34
alert(arr.length); //显示数组的长度 16

二维数组

一维数组,我们看成一组盒子,每个盒子只能放一个内容。

一维数组的表示: myarray[ ]

二维数组,我们看成一组盒子,不过每个盒子里还可以放多个盒子。

二维数组的表示: myarray[ ][ ]

注意: 二维数组的两个维度的索引值也是从 0 开始,两个维度的最后一个索引值为长度-1。

1. 二维数组的定义方法一

var myarr=new Array();  //先声明一维 
for(var i=0;i<2;i++){   //一维长度为 2
   myarr[i]=new Array();  //再声明二维 
   for(var j=0;j<3;j++){   //二维长度为 3
   myarr[i][j]=i+j;   // 赋值,每个数组元素的值为 i+j
   }
 }

注意: 关于 for 循环语句,请看《JavaScript 流程控制语句》 。

将上面二维数组,用表格的方式表示:

二维数组,用表格的方式表示

2. 二维数组的定义方法二

var Myarr = [[0 , 1 , 2 ],[1 , 2 , 3]]

3. 赋值

myarr[0][1]=5; //将 5 的值传入到数组中,覆盖原有值。

说明: myarr[0][1] ,0 表示表的行,1 表示表的列。

编程练习

使用 Javascript 语言,把以下数组

var arr = ['*','##',"***","&&","****","##*"];

arr[7] = "**";

在页面显示如下图所示的图案:

*

**

***

****

实现代码:

  //创建数组
    var  arr = ['*','##',"***","&&","****","##*"];
    arr[7] = "**";
    //数组长度
    var l = arr.length;
    
    //删除数组中非*的项
    var i = 0;
    for(; i < l; i++){
        var val = arr[i];

        if(val != undefined) {
            var newarr = val.split('');
            var newl = newarr.length;
            for(var j = 0; j < newl; j++){
                if(newarr[j] != '*'){
                    arr.splice(i, 1);
                    break;
                }
            }
        }
    }

    //按照字符数排序
    arr.sort(function(a, b){
        if(a.length > b.length){
            return 1
        }else if(a.length < b.length){
            return -1
        }else{
            return 0
        }
    })
 
    //将数组内容输出,完成达到的效果。
    for(var i = 0; i < l; i++){
        if(arr[i] != undefined){
        document.write(arr[i] + '
') } }

以上关于JavaScript数组的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » JavaScript数组

发表回复