小米技术社区
小米技术社区管理员 关于小米

27岁,山西运城人,职业电商经理人,前端开发工作者,从事过网站建设、网络推广、SEO、SEM、信息流推广、二类电商、网络运维、软件开发,等相关电商工作,经验较为丰富,小米技术社区致力于为广大从事Web前端开发的人员提供一些力所能及的引导和帮助 ...[更多]

E-mail:mzze@163.com

Q Q:32362389

W X:xiaomi168527

小米技术社区大牛王飞 关于王飞

27岁,山西运城人,职业电商经理人,网络工程师兼运维,从事过运营商网络建设,企业网络建设、优化。数据中心网络维护等通过,经验丰富,座右铭:当自己休息的时候,别忘了别人还在奔跑。 ...[更多]

E-mail:wf_live@126.com

Q Q:3940019

微博:王小贱ss

小米技术社区设计小艳 关于小艳

大于花一样的年龄,河南郑州是我家,2010年在北京接触团购网,2011年进入天猫淘宝一待就是四年,如今已经将设计走向国际化(ps:误打误撞开始进入阿里巴巴国际站的设计,嘿嘿)五年电商设计,丰富经验,从事过天猫淘宝阿里各项设计,店铺运营,产品拍摄;我将我的经历与您分享是我的快乐!座右铭:越努力越幸运! ...[更多]

E-mail:97157726@qq.com

Q Q:97157726

标签云
精品推荐
  • 什么是闭包?js闭包的2个最大用途以及注意事项

    什么是闭包?js闭包的2个最大用途以及注意事项

    各种专业文献上的"闭包"(closure)定义非常抽象,很难看懂。简单的说,闭包就是能够读取其他函数内部变量的函数。由于在Javascript语言中,只有函数内部的子函数才能读取局部变量,因……
    199人已经看过了
您的位置:首页 > 前端开发 > Javascript > 原生JS

JavaScript中array数组的用法以及数组的遍历

分类: 原生JS33个赞

数组的定义与写法:

js数组指的是一个变量中一次储存多个值的数据结构 这多个值还有先后的顺序

 示例:  var arr = [3,4,5,6,7];
         var 数组变量名 = [值1, 值2, ......, 值n];


其中的每一个值,可以是任何类型的值(数字、字符串、布尔值、undefined、null 、数组、对象、函数)


var arr = [1, 2, 'abc', true, undefined, null]; //数组的值可以是任何类型的值
console.log(arr);

 

数组总长度的表示方法:

//数组中 length属性 表示 数组中的元素个数

 console.log(arr.length);  //数组的元素个数表示方法


数组的下标/索引/键以及取值方法

    // 下标(又叫做索引、键)(表示值在数组中是第几个,从0开始计数) 和 值(下标对应一个值)概念  (值 又叫做数组中的元素)

    // 下标的作用:用来读取或者重新设置 数组中的值

    

    //用下标读取数组中的值,取值方法
    console.log(arr[0]);
    console.log(arr[1]);
    console.log(arr[5]);  // 最大的下标 + 1 等于 数组的length属性(数组中值的个数)

数组中添加值、修改值

    //设置数组中的值(添加值、修改值)
    arr[0] = 100;    //把数组中第一个值改成数字100
    console.log(arr);
    arr[6] = 200;
    console.log(arr);

注意:

    //跳过下标 添加新的值,被跳过的下标,对应的值就是undefined,会占据数组中的位置

    arr[8] = 200;
    console.log(arr);
    console.log(arr[7]);

    arr[18] = 200;
    console.log(arr);

image.png



重新设置length属性 会将数组中多余的值,删除,如果设置为0则删除所有值

    arr.length = 3; //[300,4,5]
    console.log(arr);
    arr.length = 0;
    console.log(arr); // []  为空,全部删除了


二维数组 三维数组以及多维数组,根据包含了几个数组来判断

    var arr = [1,'aa', false, null, undefined]; // 一维数组
    console.log(arr);

    var arr1 = [1, 2, [33,44] ]; // arr1是一个二维数组

    var arr2 = [1, 2, [33,44, [555,666] ] ]; // arr1是一个三维数组



遍历数组/循环数组

目的:对数组中的每个值做操作--比如输出

数组遍历案例1: 逐个输出数组中的所有的值

  var arr = [100, 200, 300, 400];
    console.log(arr[0]);
    console.log(arr[1]);
    console.log(arr[2]);
    console.log(arr[3]);
     循环次数 == 数组长度
 数组遍历写法1: -- for循环
 for(var i=0; i<=arr.length-1; i++){
    console.log(arr[i]);
    }
  数组遍历写法2: --for循环  
 for(var i=0; i<arr.length; i++){
     console.log(arr[i]);
  }
 for in语法也可以遍历数组3: --for in循环    
	var arr = [3, 2, 1];    
	for(var i in arr){    
	console.log(i, arr[i]);    
	}

数组遍历案例2:数组中的所有数 求和

     var arr = [100, 200, 300, 400];
     var total = 0;
     for(var i=0; i<arr.length; i++){
   // 逐个从数组中取出值,累加到total上
     total += arr[i];
    // 如同:total = total + arr[i];
 //console.log(total);
    }
console.log(total);

数组遍历案例3: 数组中的所有数,求 偶数的和

    var arr = [100, 101, 300, 301];
    var total = 0;
    for(var i=0; i<arr.length; i++){
     if(arr[i] % 2 == 0){
         //取余数确定是偶数
         total += arr[i];
     }
    }
    console.log(total);

数组遍历案例4: 将数组中的所有值,拼接成一个字符串,用 | 隔开,最后一个不|

    var arr = [100, 200, 300, 'abc'];     //  '100|200|300|abc'
    var str = '';
    for(var i=0; i<arr.length; i++){
        //最后一个 不用加
        if(i == arr.length-1){
            str = str + arr[i];
            // str += arr[i];
        }else{
            str = str + arr[i] + '|';
            // str += arr[i] + '|';
        }
        //扩展思路  值的前面 拼接 | ; 第一个不加
    }
    console.log(str);


常用array属性和方法

属性:

(1)length属性: 返回数组的成员数量。

var arr = ['a', 'b'];
console.log(arr.length) // 2

方法:

(1)push  添加数组元素  返回的是数组长度
push方法用于在数组的末端添加一个或多个元素,并返回添加新元素后的数组长度。注意,该方法会改变原数组。 

var a = [];
a.push(1) // 1
a.push('a') // 2
a.push(true, {}) // 4
console.log(a); //[1, 'a', true, {}]

(2)pop 删除数组最后一个元素 返回的是该元素

pop方法用于删除数组的最后一个元素,并返回该元素。注意,该方法会改变原数组 

var a = ['a', 'b', 'c'];
a.pop() // 'c'
console.log(a);// ['a', 'b']

(3)slice方法用于提取原数组的一部分,返回一个新数组,原数组不变。 

它的第一个参数为起始位置(从0开始),第二个参数为终止位置(但该位置的元素本身不包括在内)。 如果省略第二个参数,则一直返回到原数组的最后一个成员。 

var a = ['a', 'b', 'c'];
console.log(a.slice(0, 2));// ['a', 'b']

(4)join 拼接为字符串,用特定符号隔开

join方法用于将数组元素以指定字符拼接为字符串,返回一个字符串,原数组不变。

var a = ['a','b','c','d','e'];
console.log(a.join('-')) // 'a-b-c-d-e'

(5)toString 返回字符串数组

返回数组的字符串表示形式。

var arr = [1, 2, 3, 4];
console.log(arr.toString()); //1,2,3,4

小米技术社区

本站内容均为小米原创,转载请注明出处:小米技术社区>> JavaScript中array数组的用法以及数组的遍历