Javascript基础——数组及其方法

一、什么是数组

我们可以从以下几种不同的概念去理解数组。

  1. 看到"数组",二字,我们从字面意思上理解,就是一组数的组合。这个理解可能不是那么全面和准确,但对于我们去深刻理解有一定的作用。
  2. 数组是存储一个或多个数据的容器,它是一组内存空间,通常用来批量处理数据。
  3. 数组是有序排列的同类数据元素的集合
  4. 数组就是一组定长连续的用来存储数据的结构
  5. 数组是一种特殊的变量,它能够一次存放一个以上的值

下面是我在电脑上画的草图,有助于理解什么是数组

数组的下标是从零开始的,下标对应的内存块中存储数据。数组里可以存放多种数据类型的数据,不只是数字,还可以存放字符串,布尔值,对象等。

如果有一些品牌的香水需要存储,在单个变量中存储香水品牌应该是这样的:

var fragrance = "GUCCI";
var fragrance = "CHANEL";
var fragrance = "DIOR"; 

存储三个香水品牌我们会了,但是如果我们要存储3000个香水品牌呢?难道要存储3000次吗?很显然,这是不可能的。所以我们就想到了数组

数组可以用一个单一的名称存放很多值,并且还可以通过引用索引号来访问这些值。

二、创建数组

我们知道了什么是数组,那我们该怎么创建数组呢?

1、构造函数方式

var arr = new Array();
var arr = new Array("1",1,false); 

2、字面量方式(比较常用)

var arr = [1,2,3];

三、访问数组

我们知道了数组中存放的是一组数据,如果我们想要访问某一个数据要怎么做呢?

我们可以通过索引号/下标来访问某个数组元素,下面以一个例子说明。

var arr = [1,3,2,3,4,2];
console.log(arr[0]);   //在控制台打印出 1
console.log(arr[1]);   //在控制台打印出 3
console.log(arr[2]);   //在控制台打印出 2

四、遍历数组

上边的arr数组只有6个数据,我们可以一一访问,但如果数组中有成千上万的数据,我们还能这样访问吗?显然不可能。我们通常采取的做法是遍历数组。遍历数组有很多种方法,我们通过具体代码说明。

<script>
    //第一种方法: for循环
    var classmates = new Array("张三","李四","王五","赵六");
    document.write("第一种方式打印:");
    for(var i = 0; i<classmates.length; i++){
        document.write(classmates[i]);
    }
    document.write("<br>");

    //第二种方法:for-in 循环 
    document.write("第二种方式打印:");
    for(var i in classmates){
        document.write(classmates[i]);
    }
    document.write("<br>");


     //第三种方法:forEach()
    document.write("第三种方式打印:");
    classmates.forEach(function(a){
        document.write(a);
    }
    )
    document.write("<br>");

    第四种方法: map映射
    document.write("第四种方式打印:");
    var a = classmates.map(function(item,i,arr)
    {
        document.write(item);
    }
    )
    
</script>

五、属性和方法

1、length属性

length 属性返回数组的长度(数组元素的数目)。

var arr = [1,3,2,3,4,2];
console.log(arr.length);//控制台打印6

2、pop( )方法   删除数组最后一个元素

 var myarr = [10,9,"abc",23,false];
 myarr.pop();
 console.log(myarr);  //控制台打印:10,9,"abc",23
 

其返回值为删除的元素

3、shift( )方法  删除数组的第一个元素

var myarr = [10,9,"abc",23,false];
myarr.shift();
console.log(myarr); //控制台打印输出: 9,"abc",23,false

其返回值为删除的元素

注意:上边两种删除数组元素的方法中都不带参数

4、push()方法   在尾部添加元素

语法:

   arrObj.push(元素1,元素2,....)   在数组尾部添加一个或多个元素

    返回值   新数组的长度

var myarr = [10,9,"abc",23,false]; 
myarr.push("hello");   //在尾部添加   
console.log(myarr);    //控制台打印  10,9,"abc",23,false,"hello"

 返回值为增加后新数组的长度 

5、unshift()方法   在头部部添加元素

语法:

  arrObj.unshift(元素1,元素2,....);    在数组头部部添加一个或多个元素

  返回值   新数组的长度

var myarr = [10,9,"abc",23,false]; 
myarr.unshift("world");  //在头部添加
console.log(myarr);    //控制台打印  "world",10,9,"abc",23,false

 返回值为增加后新数组的长度 

6、sort( )方法   对数组元素排序

 var arr = [12,1,5,7,20,9];
     console.log(arr);
     console.log(arr.sort());
     var arr = [12,1,5,7,20,9];
     arr.sort(function(x,y){
         // teturn x - y; //升序
         return y-x;   //降序
     });

7、reverse()方法 用于颠倒数组中元素的顺序

var arr = [10,7,3,"hello", 9,true,8];
arr.reverse();
console.log(arr); //控制台打印输出 8,true, 9 ,"hello" ,3 ,7,10

可以看出,数组里的数据顺序颠倒了。

8、 concat()方法 用于连接两个或多个数组

语法:

arrObj.concat(参数)
参数: 待连接的数组或元素,多个数组或元素之间用逗号隔开
返回值:连接后的数组

var arr1 = [10,7,3,"hello", 9,true,8];
var arr2 = ["abc",100];
var arr3 = ["ss"];
console.log(arr1.concat(arr2,arr3,"welcome"));
//控制台打印输出 10, 7, 3, 'hello', 9, true, 8, 'abc', 100, 'ss', 'welcome'

9、join()方法  把数组中所有元素放入一个字符串,元素是通过指定的分隔符进行分隔的

  例如下面的例子通过"-"对数组元素进行分割

var arr1 = [10,7,3,"hello", 9,true,8];
console.log(arr1.join("-"));  //控制台打印输出10-7-3-hello-9-true-8

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值