美文网首页
javascript数组

javascript数组

作者: ssttIsme | 来源:发表于2019-12-08 19:43 被阅读0次

javascript数组

数组是一个可以存储一组或者一系列相关数据的容器
数组是一种存储结构。

一、使用数组的意义

(1)为了解决大量相关数据的存储和使用的问题。
(2)模拟真实的世界。

二、创建数组

(1)通过对象的方式来创建。

var a=new Array();

赋值方式
A.直接赋值

var a=new Array(元素1,元素2,元素3,...元素n);
var a=new Array(数值);

new Array()``的()```中如果只有一个元素,并且这个元素是数值类型的,那么它就是指定数组的长度,并且它的值都是undefined

    var arr=new Array(1,2,3,4,5,6);
    document.write(arr); // 输出 1,2,3,4,5,6

B.声明以后再赋值

    var a=new Array();
    a[0]=1;
    a[1]=2;
    document.write(a); // 输出 1,2

(2)隐形声明的方式

var a=[];

赋值方式
A.直接赋值

    var arr=[1,2,3,4];
    document.write(arr); //输出 1,2,3,4

B.声明以后再赋值

   var arr=[];
   arr[0]=1;
   arr[1]=2;
   document.write(arr); //输出 1,2

数组的属性:length

    var arr=new Array(3);
    document.write(arr.length); //输出 3
    var arr2=new Array(1,2);
    document.write(arr2.length); //输出 2

javascript数组可以存储任何类型的值

    var arr=[1,"javascript",true,[1,2]];
    document.write(arr); //输出 1,javascript,true,1,2

三、访问数组的元素

通过数组[下标]访问。

    var arr=new Array(1,2,3,4,5,6);
    document.write(arr[0]);
    document.write("<br/>");
    document.write(arr[5]);
    document.write("<br/>");
    document.write(arr[arr.length-1]);

输出

1
6
6

四、遍历数组的元素

A.for循环

  var arr=[1,2,3,"hello","ssttIsme",true];
  for (var i=0;i<arr.length;i++){
      document.write(arr[i]+" ");
  }

输出

1 2 3 hello ssttIsme true

B.while循环

    var arr=[1,2,3,"hello","ssttIsme",true];
    var i=0;
    while (i<arr.length){
        document.write(arr[i]+" ");
        i++;
    }

输出

1 2 3 hello ssttIsme true

C.for in

它有两个作用:1、用于数组的遍历。2、用于对象属性的遍历

    var arr=[1,2,3,"hello","ssttIsme",true];
    for (var i in arr){
        document.write(arr[i]+" ");
    }

输出

1 2 3 hello ssttIsme true

五、数组的分类

1.下标的类型
A.下标是数字类型的(索引数组)

  var arr=[1,2,3];
  var arr1=[];
  arr1[1]=1;

B.下标是字符串类型的(关联数组)-只是用对象来模拟的

  var arr=[];
  arr["name"]="Amy";
  document.write(arr["name"]);
  document.write("&nbsp;");
  document.write(arr.name);

输出 Amy Amy
2.维度来分类
A.一维数组

  var arr=[1,2,3];

B.二维数组-只是用对象来模拟的
不可以用arr[1][1]这样来声明二维数组。
只能像这样arr[1]=[]这样来声明

  var arr=new Array([1,2,3,4],['Dom'],['Peter']);
  document.write(arr);
  document.write("&nbsp;");
  document.write(arr[1]);
  document.write("&nbsp;");
  document.write(arr[0][2]);

输出 1,2,3,4,Dom,Peter Dom 3

  var arr=[[1,3,9],[2,4,6]];
  document.write(arr[1][1]);

输出 4

 var arr=[1,"apple",{"name":"pear"}];
 document.write(arr[2]["name"]);
 document.write("&nbsp;");
 document.write(arr[2].name);

输出 pear pear

注意点:
1.可以存储任何类型的数据
2.只支持一维数组
3.长度可变
4.如果是索引数组,下标始终从0开始,如果指定了长度但是没有赋值,它的值会自动地赋值为undefined

 var arr=[1,2,3];
 document.write(arr.length);
 document.write("&nbsp;");
 arr[3]=4;
 document.write(arr.length);

输出 3 4

 var arr=new Array(3);
 document.write(arr.length);
 document.write("&nbsp;");
 arr[5]=5;
 document.write(arr.length);

输出 3 7

var arr=[];
arr[1]=2;
document.write(arr[0]);

输出 undefined

 var arr=new Array(3);
 document.write(arr[0]);

输出 undefined

矩阵翻转
1111 1234
2222 -> 1234
3333 1234
4444 1234

 var arr=[[1,1,1,1],[2,2,2,2],[3,3,3,3],[4,4,4,4]];
 for(var i=0;i<arr.length;i++){
     for(var j=0;j<arr[i].length;j++){
         document.write(arr[i][j]);
     }
     document.write("<br/>");
 }
 document.write("翻转后<br/>");
for (var i=0;i<arr[0].length;i++){
     for(var j=0;j<arr.length;j++){
         document.write(arr[j][i]);
     }
    document.write("<br/>");
}

输出

1111
2222
3333
4444
翻转后
1234
1234
1234
1234

相关文章

网友评论

      本文标题:javascript数组

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