数组的索引:arr[0]表示取的是数组的第一位
两个值互换:
let i =1,j=2;
[i,j]=[j,i];
console.log(i,j);//i=2,j=1
//解构:将引用数据类型转换成基本数据类型,两边的类型必须相同
拿到需求的部分:
let arr = ["A","B","C"];
[i,j]= arr;
console.log(i,j);//"A""C"
两个数组合并
let arr=[1,2];
let arr1 = [3,4];
let arr2 = arr.concat[arr1];//[1,2,3,4]
扩展运算符… 多个数组合并成一个数组
let arr = [1,2,3];
let arr1 = ["A","B","C"];
let arr = [...arr,...arr1];
console.log(arr2);
console.log(arr2[5]);//C
//...扩展运算符
增加/删除
1.书写格式 arr.push(添加内容);(添加到数组的最后一位)
let arr = [1,2,3];
arr.push(1);
console.log(arr);//[1,2,3,1]
console.log(arr.push(4));//5 表示添加后所得的数组的长度为5
console.log(arr.push());//5 可以用来表示数组的长度
2.书写格式 arr.pop();(删除最后一个)
let arr=[1,2,3];
arr.pop();
console.log(arr);//[1,2] 删除最后的一个值
console.log(arr.pop());//2 得到的是数组的长度
3.书写格式 arr.unshift(); (增加数组的第一位)
let arr = [1,2,3];
arr.unshift(2);
console.log(arr);//[2,1,2,3] 在数组的第一位前面增加一位
console.log(arr.unshift());//4 可以得到数组的长度
4.书写格式 arr.shift(); (删除数组的第一位)
let arr = [1,2,3];
arr.shift();
console.log(arr);//[2,3] 在数组的第一位前面增加一位
console.log(arr.shift());//2 得到数组的第一位的值
push/pop和unshift/shift区别
添加是可以添加多个数据,删除只能删除一个
注意:添加后返回数组的长度,删除后返回删除的内容
截取
书写格式 arr.slice(参数1,参数2); 可以接受两个参数或者一个参数,参数的值为数组的下标
- 当参数为一个时,表示从该索引开始,将arr后面的值全部截取,但是原数组不变
let arr = [1,2,3,4,5];
console.log(arr.slice(1));//[2,3,4,5]
2.当参数为两个值时,表示从第一个参数开始,到第二个参数值结束,但是原数组不变
let arr = [1,2,3,4,5];
console.log(arr.slice(1,2));//[2]
3.当超出数组的最大长度时,或者两个参数相等时,会截取到一个空数组,但是原数组不变
let arr = [1,2,3,4,5];
console.log(arr.slice(6));//[]
console.log(arr.slice(2,2));//[]
console.log(arr.slice(0,10));//[1,2,3,4,5]
//开始的值如果大于数组最大长度,或者等于结束的值,则返回空数组
4.当输入为负数时,(数组长度+负值)为起止下标
let arr = [1,2,3,4,5];
console.log(arr.slice(-1));//[5]
万能式
书写格式 arr.splice();
1.当有两个参数时,功能为剪切,原数组的值会改变
let arr = [1,2,3,4,5];
console.log(arr.splice(1,2));//[2,3]
console.log(arr);//[1,4,5]
splice会剪切开始到结束的所有值[开始,结束],slice则会截取[开始,结束)
2.当有三个参数时
-
第二个参数为0时,表示增加
let arr=[1,2,3,4,5]; arr.splice(1,0,4) console.log(arr);//[1,4,2,3,4,5]
-
第二个参数为1时,表示修改
let arr=[1,2,3,4,5]; arr.splice(1,1,4) console.log(arr);//[1,4,3,4,5]
3.当有n个参数时:从第三个参数开始,之后的所有都是要插入的值
数组转字符串 join();
let arr = [1,2,3];
let str = arr.join[","];
console.log(str);
字符串转数组 splite();
let str = "Say hello to everybody!";
let arr = str.split(" ");
console.log(arr);
数组的遍历
for(let item of arr){
console.log(item);
}
//获取数组中所有的值
for(let item in arr){
console.log(item);
}
//获取数组的每一项的下标
for(let item of arr.keys()){
console.log(item);
}
//遍历输出数组中的每个键
for(let item of arr.vaules()){
console.log(item);
}
//遍历输出数组中的每个值
for(let item of arr.entries()){
console.log(item);
}
//遍历输出数组中的每个值以及每个值对应的键
判断是不是数组
Array.isArray(str);
查找
indexOf从前往后查找,返回其下标
indexLastOf从后往前查找,返回其下标
注意:
- 以上都没有找到则返回-1;
- 判断数组是否有重复数据
if(arr.indexOf("A")==arr.lastIndexOf("A")){}
//如果相等,就没有重复,反之则重复
3.includes()返回查找的内容是否存在,用true或false来判断