数组
有序的元素序列,一组数据的集合,或者可以理解为用来在单个变量中储存多个值
例如:
var arr = [1,2,3];
arr[0] = 1;
1.创建数组
参数介绍:
- 传一个数字类型,代表创建的数组的长度,或者可以理解为有多少个元素的数组
- 不能传入NaN,因为NaN也是一个数字类型,但是不能拿到具体的长度,会报出错误
- 传入其他类型,会直接当做数组的元素返回一个数组
数组创建方式有三种如:
var arr = [1,2,3];
var arr = new Array(1,2,3);
var arr = Array(1,2,3)
2.数组的方法
方法名称 |
使用方法介绍 |
concat() |
连接两个或以上数组,返回一个新数组。 |
var arr1 = [1,2,3];
var arr2 = [4,5,6];
var a = arr1.concat(arr2);
console.log(a); // [1,2,3,4,5,6];
join() |
把数组中的所有元素放入一个字符串,并以指定字符分割返回一个字符串,也可以理解为把数组转换字符串。 |
var arr = [ "hello", "world"];
arr.join(); // "hello, world"
arr.join(""); // "helloworld"
arr.join(","); // "hello, world"
pop() |
删除数组中的最后一个元素,返回删除的元素 会改变原有数组 |
var arr=["hellow", "world"];
var aa1=arr.pop();
console.log(aa1); // "world"
console.log(arr); // ["hellow"]
push() |
向数组的最后末尾添加一个或多个元素,返回一个长度 会改变原有数组。 |
var arr=["hellow", "world"];
var aa1=arr.push ("haha");
console.log(aa1); // 3
console.log(arr); // ["hellow", "world", "haha"]
reverse() |
颠倒数组元素的顺序 会改变原有数组 |
var arr=[1,2,3,4,5];
var aa1=arr.reverse();
console.log(aa1); // [5, 4, 3, 2, 1]
console.log(arr); // [5, 4, 3, 2, 1]
shift() |
删除数组中的第一个元素,返回删除的元素 会改变原有数组 |
var arr=[1,2,3,4,5];
var aa1=arr.shift();
console.log(aa1); // 1
console.log(arr); // [2, 3, 4, 5]
slice() |
接收2个参数,对数组中的元素进行截取,返回一个新数组,为截取后的元素的集合 |
//slice(start,end): 接收2个参数:
//start: 必须,指定起始索引,若负数则从数组最后开始算起, -1为倒数第一位, -2为倒数第二位,以此类推。
//end: 可选,指定结束索引,若没传则表示到数组结束
var arr=[1,2,3,4,5];
var aa1=arr.slice(2);
var aa2=arr.slice(2,3);
console.log(aa1); // // [3]
sort() |
对数组中的元素进行排序 会改变原有数组 |
//可接受一个回调方法作为比较函数,来决定排序方式。
//比较函数应该具有两个参数 a 和 b,返回值如下:
//若 a 小于 b,在排序后的数组中 a 应该出现在 b 之前,则返回一个小于 0 的值。 若 a 等于 b,则返回 0。 若 a 大于 b,则返回一个大于 0 的值。
var arr = [1, 3, 6, 9, 10];
arr.sort();
console.log(arr.sort()); // [1, 10, 3, 6, 9]
arr.sort(function (a, b) {
return a > b ? 1 : a < b ? -1 : 0;
})
console.log(arr);// [1, 3, 6, 9, 10]
splice() |
对数组中的元素进行截取,返回一个新数组,为截取后的元素的集合 |
//语法: arr.splice(index,num,a1,a2,...,an);
//参数:
//index: 必需,起始位置的索引,若负数则从数组最后开始算起;
//num:必需,删除的数量,若为0则不删除;
//a1,a2,...an:可选,为数组添加的元素;
var arr = [1,2,3,4,5];
var a = arr.splice(1,2,"hellow");
console.log(arr); //[1, "hellow", 4, 5]
console.log(a); //[2, 3]
toString() |
把数组中的元素转为字符串,返回一个字符串 |
var arr = [1, 2, 3, 4, 5];
var aa1 = arr.toString();
console.log(aa1); // '1,2,3,4,5'
console.log(arr); // [1, 2, 3, 4, 5]
unshift() |
向数组的开头添加一个或更多元素,并返回新的长度。 |
var arr = [1, 2, 3, 4, 5];
var aa1 = arr.unshift(88);
console.log(aa1); // 6
console.log(arr); // [88, 1, 2, 3, 4, 5]
indexOf() |
在数组中搜索指定元素并返回第一个匹配的索引 |
var arr = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var aa1 = arr.indexOf(2);
console.log(aa1); // 1
console.log(arr); // [1, 2, 3, 4, 5, 4, 3, 2, 1]
lastIndexOf() |
在数组中搜索指定元素并返回最后一个匹配的索引 |
var arr = [1, 2, 3, 4, 5, 4, 3, 2, 1];
var aa1 = arr.lastIndexOf(2);
console.log(aa1); // 7
console.log(arr); // [1, 2, 3, 4, 5, 4, 3, 2, 1]