1.数组
概念: 多个数据的集合
1.1 定义数组
//实例化方式 声明 数组名 = new Array(数据1,数据2); //比如 let arr = new Array(3,4,5); //字面量方式 声明 数组名 = [ 数据1, 数据2, 数据3]; //比如 let arr = [3,4,5];
1.2 数组粗暴操作
--------------------------重点------------------------- //访问数组长度 数组名.length //访问数组指定元素 数组名[下标|索引] //数组修改/添加指定元素 数组[下标|索引] = 新的值 --------------------------了解------------------------- //删除指定内容 delete 数组名[下标|索引] //清空 数组名 = [];
2. 遍历数组--重重点
//for循环遍历 for(声明 变量 = 初始值; 变量 < 数组.length ; 变量自增){ //数组名[变量] } //forEach() 数组名.forEach( function(v,i){ //v是数组的每一个元素, i是数组元素的下标 } ) //区别: // 相同点: 都能遍历数组 //不同点: for循环可以控制范围遍历, forEach()会遍历数组的每一项
3. 二维数组
//一维数组, 数组元素由普通数据组成 比如: let arr = ["张三","李四","王五","老六","小貂蝉","赵云","吕布","曹操"]; //二维数组, 数组元素由数组组成 比如: let class_0423 = [ ["周豪","杜晴","胡潇文"], //1组 ->0 ["张涛","陶秋","罗涵","黄心乙"], //2组->1 ["庞鑫","龚毅"], //3组 -> 2 ["高源","谢轲","钟瑞"], //4组 ["李海波","杨娟","徐俪颖"], //5组 ["缪磊","曹洪川"], //6组 ["张雪","何明通","颜洋","王凯"], //7组 ] //访问二维数组 -> 数组名[一维的下标][二维下标] console.log(class_0423[1]); //访问大数组下的某个小数组 console.log(class_0423[1][1]) //访问小数组中的某一个元素 //修改二维数组指定元素 数组名[一维的下标][二维下标] = 新的值 // 二维数组遍历(数组套数组) //遍历数组-for/forEach 大数组.forEach(function(v,i){ console.log("小数组",v); //v是大数组的每一项 -> 每一个小数组 //怎么分解小数组? 小数组是v, 分解v, 对v使用forEach v.forEach(function(v1,i1){ console.log("小数组的每一项",v1) }) })
4. 数组的方法
-----------------不影响原数组-------------- 数组1.concat(拼接的数据) //在数组1的内容后面拼接新的数据, 返回新数据, 不会影响原数组 数组.slice(开始下标, 结束下标); //截取数组的某一部分, 开始下标截取, 到结束下标之前 数组名.join(拼接符号) //把数组的每一项单独拿出来和指定字符进行拼接, 返回的是字符串类型 ---------------影响原数组------------------ 数组名.pop() //删除数组最后一位, 返回删除的内容 数组名.push(数据,数据) //在数组最后添加数据, 返回数组新长度 数组名.shift() //删除数组第一位, 返回删除的内容 数组名.unshift(数据,数据) //在数组最前面添加数据, 返回数组的新长度 数组名.splice(开始下标, 截取长度, 新添加的内容) //可以利用splice方法在指定位置添加新内容 //比如: arr1.splice(5,0,"大貂婵") -> 在数组下标为5的位置, 截取长度为0, 添加"大貂婵"进去