数组增删查改
数组的增删查改是什么?
-
增:在数组里面添加数据
-
在数组的最前面添加三条数据
let arr = ["d","e","f"]; // 方式一:比较复杂 // arr.unshift("a"); // arr.unshift("b"); // arr.unshift("c"); // 方式二:比较方便 ▲// unshift() 和push()方法一样,会返回新增的数组的长度 // unshift()方法和push()方法一样,可以接收一个数据或者多个数据 arr.unshift("a" , "b" , "c"); console.log(arr);//["a", "b", "c", "d", "e", "f"]
-
在数组的最后面添加一条数据
// JavaScript中数组自动扩容,新增一条数据 let arr = ["d","e","f"]; arr[3] = "h"; console.log(arr);//["d", "e", "f", "h"] let arr = ["d","e","f"]; ▲ // push() 方法,在数组最后面新增一条数据。是有返回值的,返回新增的数组的长度。 // 假如数组里面具有好多个数据,如果使用楼上的方法,太麻烦了。 // 可以直接使用数组里面的方法,直接添加数据,不用数索引的数目 arr.push("a"); console.log(arr);//["d", "e", "f", "a"]
-
在数组最后面添加三条数据
let arr = ["d","e","f"]; // 方式一:比较复杂 // arr.push("a"); // arr.push("b"); // arr.push("c"); // 方式二:比较方便 //push()方法可以接收一个数据或者多个数据 arr.push("a" , "b" , "c"); console.log(arr);//[ "d", "e", "f","a", "b", "c"]
-
-
删:通过数组的索引将其数据删除
-
删除数组最后面一条数据
let arr = ["d","e","f"]; ▲// 数组的方法: pop()可以删除数组里面最后的一条数据,并且会将删除的数据返回 let s=arr.pop(); console.log(arr);//[ "d", "e"] console.log(s);//f
-
删除数组最前面的一条数据
let arr = ["d","e","f"]; ▲ // 数组的方法: shift()可以删除数组里面最前面的一条数据,并且会将删除的数据返回 let w=arr.shift(); console.log(arr);//["e", "f"] console.log(w);//d
-
删除数组里面索引为1的数据
let arr = ["d","e","f"]; ▲ // arr.splice(1,1);的含义:从索引为1的元素开始删除数据 // 参数一:从什么位置开始(索引) // 参数二:需要删除多少个元素 arr.splice(1,1); console.log(arr);//["d", "f"]
-
删除数组里面除了索引为0的数据以外的所有的数据
let arr = ["d","e","f"]; // arr.splice(1,2);的含义:从索引为1的元素开始删除数据 // 参数一:从什么位置开始(索引) // 参数二:需要删除多少个元素 arr.splice(1,2); console.log(arr);//["d"]
-
-
查:获取数组里面索引的数据
let arr = ["d","e","f"]; console.log(arr); // ["d", "e", "f"] console.log(arr[1]);//e
-
改:通过索引将其的数据更改
-
将索引为2的数据修改为 “h”
let arr = ["d","e","f"]; arr[2] = "h"; console.log(arr); // ["d", "e", "h"] console.log(arr[2]);//h
-
将索引为1的修改为a ,将索引为2的修改为b
let arr = ["d","e","f"]; arr[1] = "a"; arr[2] = "b"; //可以将 arr[1] = "a"; arr[2] = "b";优化为: //达到同样的效果 arr.splice(1,2,"a","b"); console.log(arr); // ["d", "a", "b"] console.log(arr[1]);//a console.log(arr[2]);//b
-
数组常用方法:
-
怎么去清空数组
let arr = [2,4,6,8]; // 方式一: arr = []; // 方式二: arr.length = 0; // 方式三: arr.splice(0,arr.length); console.log(arr);// []
-
怎么将数组转换为字符串
//使用toString()方法 let arr = [2,4,6,8]; let res=arr .toString(); console.log(res);//2,4,6,8 console.log(typeof arr);//object console.log(typeof res);//String
-
怎么将数组转换为指定格式的字符串
let arr = [2,4,6,8]; // join方法默认情况下如果没有传递参数,那么就是调用toString()方法。 // join方法假如传递了参数进去(),那么就会将传递的参数作为元素和元素之间的连接符号。 let res=arr .join("+"); console.log(res);//2+4+6+8 console.log(typeof arr);//object console.log(typeof res);//String
-
怎么将俩个数组拼接成一个数组
let arr1 = [1,2,3]; let arr2 = [4,5,6]; //注意:数组是不可以使用加号进行拼接的,假如使用了加号进行拼接, //那么首先会转换为字符串然后再进行拼接操作。 // 方式一:不符合要求 let str = arr1 + arr2; console.log(str);//1,2,34,5,6 // 方式二: let str = arr1.concat(arr2); console.log(str);//[1, 2, 3, 4, 5, 6] // 注意:扩展运算符在解构赋值里面(等于号的左边)表示的是将剩余的数据打包成一个新的数组 // 扩展运算符在等于号的右边,表示的是将数组里面所有的数据解开,放到所在的位置 // 方式三:▲ 企业开发中推荐使用的方法 let res = [...arr1 , ...arr2];// console.log(res); //[1, 2, 3, 4, 5, 6] console.log(typeof res);//Object // 注意:会将生成的一个新的数组返回,不会修改(改变)原有的数组 console.log(arr1);// [1, 2, 3] console.log(arr2);// [4, 5, 6]
-
怎么对数组里面的内容进行反转
// [1, 2, 3, 4, 5, 6] 反转为 [6, 5, 4, 3, 2, 1] let arr = [1, 2, 3, 4, 5, 6]; let res = arr.reverse(); console.log(res);//[6, 5, 4, 3, 2, 1] // 注意:会修改原有的数组 console.log(arr);//[6, 5, 4, 3, 2, 1]
-
怎么截取数组里面的指定范围的内容
let arr = [1,2,3]; // slice()方法是包头不包尾的(就是包含起始位置,不包含结束的位置) let res = arr.slice(1,2); console.log(arr);// [1, 2, 3] console.log(res);// [2]
-
怎么查找某一个元素在数组里面的位置
推荐使用indexOf()和lastindexOf()方法查找元素 let arr=[1,2,3]; // indexOf方法假如找到指定的元素(索引从0开始),那么就会返回运算对应的位置 // 假如没有找到指定的元素,那么就会返回-1 let msg=arr.indexOf(2); console.log(arr);//[1,2,3] console.log(msg);//1 let arr1=[1,1,2,3]; // 注意点:indexOf方法默认从左至右查找元素,并且一旦查到指定的元素之后就会停止查找 let msg1=arr1.indexOf(1) console.log(arr1);//[1,1,2,3] console.log(msg1);//0 // indexOf(a,b);可以具有两个参数 // 参数a:需要查找的元素 // 参数b:从什么位置开始查找 // 注意点:lastIndexOf方法默认从右至左查找元素,并且一旦查到指定的元素之后就会停止查找 let msg1=arr1.lastIndexOf(1) console.log(arr1);//[1,1,2,3] console.log(msg1);//1 说明默认从右至左查找元素
-
怎么去判断数组里面是否包含了某一个元素
推荐使用includes()方法判断 let res=[2,4,6,8]; // 可以通过indexOf和lastIndexOf的结果,进行判断是否为-1即可 let ass=res.indexOf(9); let ass2=res.lastIndexOf(9); // include()判断数组中是否存在某元素,如果存在输出true。如果不存在输出false let ass3=res.includes(6); console.log(ass3);//true let ass4=res.includes(9); console.log(ass4);//false