数组
声明一个数组
var arr = [ ];
用Array()创建数组
var arr =new Array();
数组的特性
长度 arr.length;
索引 下标 从0开始 最后一个值的下标为arr.length - 1
数组的增删改查
var arr = [1,2]
增加 arr[3] =123; 修改 arr[2] =5;
删除 delete arr[1]; //删除的是数值,但位置还在;
查找 后文有数组查找方法
数组的循环方法
for(var i in arr){} 这里的 i 指的是数组的下标
for(var i of arr){} 这里的 i 是指数组的值
数组的常用方法
push()
在数组的最后加入一个值 执行后改变了数组 其返回值是数组的长度
var arr = [1,2,3,4,5];
console.log(arr.push(6));//6
console.log(arr);//arr[1,2,3,4,5,6]
unshift ()
在数组最前面添加一个值 执行后改变了数组 其返回值是数组的长度
var arr =[1,2,3,4,5];
console.log(arr.unshift(0)); //6
console.log(arr); //arr[0,1,2,3,4,5]
pop()
作用是删除数组最后一个值 执行后改变了数组长度 返回值是删除的值
var arr =["a",'b','c','d','e'];
console.log(arr.pop()); // e
console.log(arr); //arr["a","b","c","d"]
shift()
作用是删除数组最前面的值 执行后改变了数组长度 返回值是删除的值
var arr =["a",'b','c','d','e'];
console.log(arr.shift()); //a
console.log(arr); // arr =['b','c','d','e']
查找方法
indexOf() 查找某个元素在数组中第一次出现的位置 返回值查找元素的下标 找不到返回 -1
var arr =[1,3,4,53,8,0,7,2,0,1];
console.log(arr.indexOf(1)); //0
console.log(arr.indexOf(5)); //-1
lastIndexOf() 查找某个元素在数组中最后一次出现的位置 返回值查找元素的下标 找不到返回 -1
var arr =[1,3,4,53,8,0,7,2,0,1];
console.log(arr.indexOf(1)); //9
console.log(arr.indexOf(5)); //-1
includes() 查找数组中是否存在一个指定的值 存在返回true 不存在返回false
var arr =[1,3,4,53,8,0,7,2,0,1];
console.log(arr.includes(3)); //true
console.log(arr.includes(5)); //false
slice()
()里的值 [开始值的下标,结束值的下标)从开始下标到结束下标(不包括结束值)的数组复制出来 返回的是被截取的新数组
var arr = [1, 23, 4, 5, 6, 46, 546, 2, 234, 12, 32];
console.log(arr.slice(1,5));//[23,4,5,6]
console.log(arr); //arr = [1, 23, 4, 5, 6, 46, 546, 2, 234, 12, 32]
splice()
()里的值(开始值的下标,截取的长度,从开始截取的值进行填充的数组【可以不填,也可以填多个】) 原数组被改变 返回值是裁剪的新数组
var arr = [1, 23, 4, 5, 6, 46, 546, 2, 234, 12, 32];
console.log(arr.splice(1,4,"a","b","c")); //[23,4,5,6]
console.log(arr); //arr = [1, "a","b","c", 46, 546, 2, 234, 12, 32]
reverse()
颠倒数组 返回值颠倒的数组 会改变数组
var arr = [1, 2, 32, 4, 35, 3];
console.log(arr.reverse());//[3, 35, 4, 32, 2, 1]
console.log(arr);//[3, 35, 4, 32, 2, 1]
sort()
作用给数组排序
var arr=[1,5,4,3,2,6];
console.log(arr.sort((a,b) =>a-b));//[1,2,3,4,5,6]
//a,b不是固定的,前面-后面 升序
console.log(arr.sort((x,y) =>y-x));//[6,5,4,3,2,1]
//后面-前面 降序
转成字符串方法
toString() 把数组内容转化成字符串 用逗号”,“拼接
var arr =[2023,8,7];
console.log(arr.toString());//2023,8,7
join() 把数组内容转化为字符串 用()里的内容拼接
var arr =[2023,8,7];
console.log(arr.join("/"));// 2023/8/7