在JavaScript中,创建数组的方式有两种,一种是new Array()方法创建数组,另一种是以具体的内容(字面量)创建数组。数组的常用方法是指对数组的一些操作。例如:数组的增加、删除等。
创建数组
new Array()方法创建数组
创建一个长度为3的数组
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr = new Array(3);//创建一个长度为6的数组
console.log(arr.length);//在控制台上打印数组的长度
</script>
</html>
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr = new Array(3);
arr [0] = "html";
arr [1] = "css";
arr [2] = "js";
arr [3] = "vue";
console.log(arr.length);
console.log(arr);//在控制台打印数组
</script>
</html>
字面量创建数组
什么是字面量创建数组,字面量创建数组就是在[]中写出数组的所有元素,中间用逗号隔开。数组的长度有数组里面的元素个数决定。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr01 = [1,2,3,4];
console.log(arr01.length);
console.log(arr01);
var arr02 = [1,"2","html",null,undefined,true];
console.log(arr02.length);
console.log(arr02);
</script>
</html>
在这里,我们可以看到数组里面的元素可以是各种类型,无论那种类型都不影响数组的创建。
数组的常用方法
添加数组元素
数组的添加有四种,第一种是通过下标添加元素,第二种是push()方法,第三种是unshift()方法还有一种是concat()方法,可以把一个数组的元素全部添加进数组里。
下标
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr = new Array(3);
arr [1] = "js";
console.log(arr.length);
console.log(arr);
</script>
</html>
push()方法
push()方法是在数组的尾部添加元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr01 = [1,2,3,4];
arr01.push(5);
console.log(arr01.length);
console.log(arr01);
</script>
</html>
unshift()方法
unshift()方法在数组头部添加元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr01 = [1,2,3,4];
console.log(arr01.length);
console.log(arr01);
arr01.unshift(5);
console.log(arr01.length);
console.log(arr01);
</script>
</html>
concat()方法
concat()方法也就是把两个数组拼接在一起,使两个数组合二为一。拼接数组用concat()方法,将需要后缀在后面的数组名写在括号里,如果需要拼接多个数组,中间用逗号隔开。concat()方法也是添加数组元素的一种方式,concat()方法是把一个数组的所有内容都添加到数组尾部。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr01 = [1,2,3,4];
console.log(arr01.length);
console.log(arr01);
var arr02 = [1,"2","html",null,undefined,true];
console.log(arr02.length);
console.log(arr02);
var arr03 = arr01.concat(arr02);
console.log(arr03.length);
console.log(arr03);
var arr04 = arr01.concat(arr02,arr03);
console.log(arr04.length);
console.log(arr04);
</script>
</html>
删除数组元素
删除数组的方法有三种,一种是从数组的头部删除,一种是从数组的尾部删除还有一种是可以删除连续的几个数组元素。
pop()方法
pop()方法从数组尾部删除元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr01 = [1,2,3,4];
console.log(arr01.length);
console.log(arr01);
arr01.pop();
console.log(arr01.length);
console.log(arr01);
</script>
</html>
shift()方法
shift()方法从数组头部删除元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr01 = [1,2,3,4];
console.log(arr01.length);
console.log(arr01);
arr01.shift();
console.log(arr01.length);
console.log(arr01);
</script>
</html>
splice()方法
splice()方法截取数组内容后,原本的数组内容发生改变,删除截取的元素。框号里写两个参数,第一个参数是要开始删除的数组下标,第二个参数是要删除的元素个数。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr01 = [1,2,3,4];
console.log(arr01);
var arr02 = arr01.splice(1,2);
console.log(arr02);
console.log(arr01);
</script>
</html>
获取数组元素下标
获取元素下标使用indexOf()方法
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr01 = [1,2,3,4];
var arr = arr01.indexOf(3);
console.log(arr);
</script>
</html>
将数组元素的对象(object)类型转换为字符串(string)类型
join()方法将对象类型转换为字符串类型,括号中写的是转换为字符串类型后的连接符。
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
</body>
<script>
var arr01 = [1,2,3,4];
console.log(arr01);
var arr02 = arr01.join("/");
console.log(typeof(arr02));
</script>
</html>
总结
在JavaScript中,创建一个数组,即使我们给这个数组定义了长度,也不影响我们后期给它具体赋值时,超过定义的长度,在我们需要计算数组长度时超过定义的长度的部分也会自动加进去。
添加数组元素时,唯有concat()方法可以一次添加多个元素;删除数组元素时,唯有splice()方法可以一次删除多个元素。其他的方法一次都只能操作一个元素。