数组及其案例

本文详细介绍了JavaScript中的数组,包括什么是数组、如何创建数组、获取和遍历数组元素的方法,以及各种数组操作如修改、添加元素。文章还提供了一系列案例,如数组元素的修改、添加、遍历、连接、拼接、排序、删除等操作,以及数组的常用方法如concat、join、pop、push、reverse、shift、slice、sort、splice、toSource、toString、toLocaleString、valueOf的使用。最后,文章给出了多个编程练习,涉及冒泡排序、选择排序以及数组元素的增删查改等实际应用。
摘要由CSDN通过智能技术生成

数组Array

6.1 什么是数组

  • 数组是值得有序集合,每个值叫做一个元素,而每个元素在数组中有一个位置,以数字表示,称为索引。
  • js的数组是无类型的,数组元素可以是任意类型,同一个数组中的不同元素可能是对象或数组。
  • 简单地说:数组就是用来存放数据的容器。

数组的属性:

属性 描述
constructor 返回对创建此对象的数组函数的引用。
length 设置或返回数组中元素的数目。
prototype 使您有能力向对象添加属性和方法。

6.2 数组的创建

1、通过字面量直接创建

 var arr1 = [];      //创建一个空数组
    var arr2 = [1,2,3]; //创建一个有3个值的数值
    var arr3 = [1,true,"hello"]; //创建元素类型不同的数组
var arr1 = [];      //创建一个空数组
 var arr2 = [1,2,3]; //创建一个有3个值的数值
 var arr3 = [1,true,"hello"]; //创建元素类型不同的数组

2、通过构造函数Array创建

 //a,调用时没有参数
    var a = new Array();
    //b,调用时有一个数值参数,它指定长度
    var b = new Array(10);
    //c,显式指定两个或多个数组元素或者数组的一个非数值元素  
    var c = new Array(1,2,3);

在js中,数组的元素类型可以是任意的,因此,有时数组中的某个元素值,也可以是一个数组,这样的数组被称为多维数组。

理论上可以嵌套N层,但是最常用的一般是二维数组。

6.3 获取数组元素

通过指定数组名以及索引号码,你可以访问某个特定的元素。

/*
格式: 数组名[下标];
下标又称为索引,从0开始,到数组长度-1。
功能:获取下标对应元素的值,如果下标不存在,则返回undefined。
*/
var arr = [2,3,4];
console.log(arr[0]);
console.log(arr[1]);    
console.log(arr[2]);    
console.log(arr[3]);
//输出结果为:2,3,4,undefined

6.4 遍历数组

js中常用的遍历数组方法有for,foreach等

1、for循****环

 var arr = ["a",1,2];
 for(var i=0,len=arr.length;i<len;i++){
   
    console.log(arr[i]);
 }

// 输出结果为:a 1 2

2、foreach遍历

forEach() 方法用于调用数组的每个元素,并将元素传递给回调函数。
注意: forEach() 对于空数组是不会执行回调函数的。

基本语法

arr.forEach(function(currvalue,index,arr),thisValue);
  • function(currvalue,index,arr):必选。currvalue必需,index可选(当前索引),arr可选(当前元素数组对象)
  • thisValue:可选,表示当前对象,this;如果为空,“undefined”会传递this值。

案例演示

var abc = ["范冰冰", "张钧甯", "张馨予", "蒋勤勤", "赵丽颖"];
    abc.forEach(function(value, index){
   
      console.log((index+1)+"号美女是:" + value);
    })
//输出结果为:1号美女是:范冰冰 2号美女是:张钧甯 3号美女是:张馨予 4号美女是:蒋勤勤 5号美女是:赵丽颖

6.5 数组元素修改和添加

通过数组下标方式,可以修改和添加数组的元素。
由于js中数组的长度是动态的,如果添加的下标不存在,则在数组末尾新增一个元素。

  var arr = ["hello","world"];
    //可以将world,修改为javascript
    arr[1] = "javascript";
    
    //可以在数组最后添加一个新元素。so
    arr[2] = "so";
    //循环遍历数组,并在控制台中打印
    for(var i=0,len=arr.length;i<len;i++){
   
        console.log(arr[i]);
    }
    //输出结果为:hello javascript so

6.6 数组操作案例

案例1 求数组中的所有数的和

 var arr = [22,33,44,5,5,66,77];
    var sum=0;
    for(var i=0,len=arr.length;i<len;i++){
   
        sum+=arr[i];
    }
    console.log(sum);  //输出结果为:252

案例2 找出下列数组中最大的数

 var arr = [22,33,44,5,5,66,77];
    //假定最大数为数组的第一个元素
    var max=arr[0];
    for(var i=1,len=arr.length;i<len;i++){
   
        if(arr[i]>max){
   
            max = arr[i];
        }
    }
    console.log(max);  //输出结果为:77

案例3 将数组转为字符串,并以“-”拼接。

   var arr = [22,33,44,5,5,66,77];
    //假定最大数为数组的第一个元素
    var str="";
    for(var i=1,len=arr.length;i<len;i++){
   
        str+= arr[i]+"-"
    }
    //将最后一个-截取掉
    str = str.substr(0,str.length-1);
    console.log(str);
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值