0
点赞
收藏
分享

微信扫一扫

Javascript基础——数组及其方法

悄然丝语 2022-04-14 阅读 108

一、什么是数组

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

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

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

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

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

存储三个香水品牌我们会了,但是如果我们要存储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()方法   在尾部添加元素

语法:

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

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

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

语法:

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()方法 用于连接两个或多个数组

语法:

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
举报

相关推荐

0 条评论