JavaScript数组
一、数组
<script type="text/javascript"> // 四个方法: // 1.push()可以向数组末尾添加一个或多个元素,并返回新的数组长度 // 可以将要添加的元素作为方法的参数传递 // 这样的元素将会自动的添加到数组的末尾 // 2.pop()可以删除数组的最后一个元素,并将被删除的元素作为返回值返回 // 3.unshift()向数组开头添加一个或多个元素,并返回新的数组长度 // 向前面插入元素以后,其他元素索引会依次调整 // 4.shift()可用于删除数组的第一个元素,并将被删除的元素作为返回值返回 // 数组(Array)也是一个对象,和我们普通对象功能类似,也是用来存储一些值的 // 不同的是普通对象是使用字符串作为属性名的 // 而数组是使用数字来作为索引操作元素的 // 索引:从零开始的整数就是索引 // 数组的存储性功能比普通对象要好,在开发中我们经常使用数组来存储一些数据 // 创建数组对象 var arr = new Array(); // 使用typeof检查一个数组时,会返回object console.log( typeof arr); // 向数组中添加元素 // 语法: 数组[索引] = 值 arr[0] = 10; arr[1] = 20; arr[2] = 30; // 读取数组中的元素 // 语法: 数组[索引] // 如果读取不存在的索引,不会报错而是返回undefined console.log(arr); // 获取数组的长度 // 可以使用length属性来获取数组的长度 // 语法: 数组.length // 对于连续的数组,使用length可以获取到数组的长度(元素的个数) // 对于非连续的数组,使用length可以获取到数组的最大索引+1 console.log(arr.length); // 修改length // 如果修改的length大于原长度,则多出的部分会空出来 // 如果修改的length小于原长度,则多出的元素会删除 arr.length = 10; arr.length = 2; // 向数组的最后一个位置添加元素 // 语法: arr[arr.length] = 元素 arr[arr.length] = 40; arr[arr.length] = 50; console.log(arr); </script>
二、数组字面量
<script type="text/javascript"> // 使用构造函数创建一个数组 // var arr = new Array(1,2,3,4,5); // 使用字面量来创建数组 // 语法: [] // 使用字面量来创建数组时,可以在创建时就指定数组中的元素 var arr = [1,2,3,4,5]; console.log(typeof arr); // 创建一个长度为10的数组 var arr = new Array(10); // 数组里面可以放对象 // 数组里面可以放函数 // 数组里面可以放数组 var arr = [[1,2,3],[4,5,6],[7,8,9]]; console.log(arr); </script>
三、数组的遍历
<script type="text/javascript"> var arr = ["abc","def","ghi","jkl","mno"]; // 所谓的数组遍历,就是将数组中的所有元素都取出来 for(var i=0 ; i<arr.length ; i++){ console.log(arr[i]); } </script>
四、数组去重练习
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title></title> <script type="text/javascript"> // 创建一个数组 var arr = [1,2,3,2,2,1,3,4,2,5]; // 去除数组中重复的数字 // 获取数组中的每一个元素 for(var i=0 ; i<arr.length ; i++){ // console.log(arr[i]); // 获取当前元素后的所有元素 for(var j=i+1 ; j<arr.length ; j++){ // console.log(arr[j]); // 判断两个元素的值是否相等 if(arr[i] == arr[j]){ // 如果相等则证明出现了重复的元素,则删除j对应的元素 arr.splice(j,1); // 当删除了当前j所在的元素以后,后面的元素会自动补位 // 此时将不会再比较这个元素,需要在比较一次j所在位置的元素 // 所以使用j-- j--; } } } console.log(arr); </script> </head> <body> </body> </html>