持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第 5 天,点击查看活动详情
什么是数组
所谓数组,是有序的元素序列。若将多个类型的变量的集合命名,那么这个名称为数组名。组成数组的各个变量称为数组的元素,有时也称为下标变量。用于区分数组的各个元素的数字编号称为下标。是一组数据的组合,多个数据的集合。数组是一种特殊的对象。
数组的特点
- 数组内的数据有一些相关性的。
- 数组里的数据有一定的顺序。
- 数组里面可以放任何的数据类型,也可同时存放不同类型的数据。
- 任意数组之间都不相等,哪怕数组内的数据相同也不相等。数组是一种特殊的对象。
Tip:js中任何两个对象都不相等,只要相等了,那就是同一个对象,相等于自身
创建数组
JavaScript 全都是弱类型,所以无论是数组还是普通的数据类型,全都用 var 声明变量。
创建数组常用的方式字面量方法创建,如下:
var numarr=[1,2,3];
构造函数创建
构造函数方法创建时,若括号内只有一个数值型数据,则表示这个数组中有几个元素,值为 undefined
var arr = new Array[];
例如:
var arr1 = [5] //表示有一个数组元素5
var arr2 = new Array(5) //表示有5个数组元素,值全部为undefined
初始化数组
第一种方式:依次为数组赋值。
var arr1=new Array();
arr1[0]=1;
arr1[1]=2;
for (var index = 0; index < arr1.length; index++) {
console.log(arr1[index])
}
第二种方式:直接初始化。
var arr2=new Array(1,2,3,4);;
for (var index = 0; index < arr2.length; index++) {
console.log(arr2[index])
}
第三种方式:直接赋值,不使用 new 关键。
var arr3=[1,2,3,4];
for (var index = 0; index < arr3.length; index++) {
console.log(arr3[index])
}
初始化数组的三种方式介绍完了。
数组的常用方法
toString():将数组转换成字符串,是数据类型的一个转换。
var arr=[1,2,3,];
var str=arr.toString();
console.log(str+",数据类型"+typeof(str));
join():将数组中每个元素用连接符号连成一个新的字符串,其实它也是转换字符串用的。
var arr=[1,2,3,];
var str=arr.join("-");
console.log(str+",数据类型"+typeof(str));
将每个元素以 “-” 进行连接,然后最终的结果也是一个字符串。
concat():将原来的数组连接新的元素,原数组不变。
var arr=[1,2,3,];
var newarr=arr.concat(4,6);
console.log("原数组:"+arr);
console.log(newarr+",数据类型"+typeof(newarr));
在原数组的后面连接啊就是添加新的元素新的元素形成一个新数组,但是原数组是不变的。
slice():在数组中提取部分,截取。例如 slice(1,2),1 是开始下标,2 是结束下标。
var arr=[1,2,3,4,6];
var arr1=arr.slice(1,3)
console.log(arr1+",数据类型"+typeof(arr1));
reverse():数组反转。
var arr=[1,2,3,4,6];
console.log("原数组:"+arr);
var arr1=arr.reverse(arr);
console.log(arr1+",数据类型"+typeof(arr1));
sort():数组排序。有两种,一种是字符排序,另一种是数值排序。
字符排序:
var str=[111,123,23,112,1144,3333];
str.sort();
console.log(str);
注意:不是按照数值大小排序。
数值排序:如果要按照数值大小排序,需要传入函数。
var str=[111,123,23,112,1144,3333];
str.sort(itbbfx);
console.log(str);
function itbbfx(a,b){
return a-b;
}
除了这些,还有其他,例如 pop()、push() 等等,这里没有一一演示。