1 <script> 2 'use strict'//严格模式,没用关键字申明的变量都会报错 3 //Arry可以包含任意数据类型,并通过索引来访问每个元素 4 /* 5 .length 获取数组长度 6 注:直接给数组的length赋一个新值会导致数组大小变化 7 []通过索引赋值 8 注:索引超过了范围也会引起数组大小变化 9 10 编写代码时,不建议直接修改Array的大小,访问索引时要确保索引不会越界。 11 12 */ 13 var arr = [1, '2', null, true] 14 console.log(arr.length) 15 arr.length = 6 16 console.log(arr) //(6) [1, "2", null, true, undefined × 2] 17 arr[1] = 2 18 console.log(arr) //(6)[1, 2, null, true, undefined × 2] 19 arr[6] = 'x' 20 console.log(arr) //(8) [1, 2, null, true, undefined × 3, "x"] 21 22 /* 23 indexOf() 搜索一个指定的元素的位置 24 slice() 截取Array的部分元素,然后返回一个新的Array 25 注:如果不给slice()传递任何参数,它就会从头到尾截取所有元素 26 */ 27 console.log(arr.indexOf(null)) //2 如果没有找到,返回-1 28 console.log(arr.slice(0,3)) //[1, 2, null] 从索引0开始,到索引3结束,但不包括索引3 29 30 /* 31 push()向Array的末尾添加若干元素 32 pop()把Array的最后一个元素删除掉 33 */ 34 arr.push('a', 'b') 35 console.log(arr)//(9) [1, 2, null, true, undefined × 2, "x", "a", "b"] 36 arr.pop() 37 console.log(arr) //[1, 2, null, true, undefined × 2, "x", "a"] 38 39 /* 40 unshift() 往Array的头部添加若干元素 41 shift() 把Array的第一个元素删掉 42 */ 43 arr.unshift('a') 44 console.log(arr)//["a", 1, 2, null, true, undefined × 2, "x", "a"] 45 arr.shift() 46 console.log(arr)// [1, 2, null, true, undefined × 2, "x", "a"] 47 48 /* 49 sort() 排序 会直接修改当前Array的元素位置,直接调用时,按照默认顺序排序 50 reverse() 反转 51 splice() 修改Array的“万能方法”,它可以从指定的索引开始删除若干元素,然后再从该位置添加若干元素 52 */ 53 arr.sort() 54 console.log(arr) //[1, 2, "a", null, true, "x", undefined × 2] 55 56 arr.reverse() 57 console.log(arr)// [undefined × 2, "x", true, null, "a", 2, 1] 58 59 arr.splice(2,3,'good','boy')//从索引2开始删除3个元素,然后再添加两个元素 60 console.log(arr) // [undefined × 2, "good", "boy", "a", 2, 1] 61 62 arr.splice(2,3)//只删除,不添加 63 console.log(arr) // [undefined × 2, 2, 1] 64 65 arr.splice(2,0,'good','boy')//// 只添加,不删除: 66 console.log(arr) // [undefined × 2, "good", "boy", 2, 1] 67 68 /* 69 concat() 当前的Array和另一个Array连接起来,并返回一个新的Array 70 注:concat()并没有修改当前Array,而是返回了一个新的Array。可以接收任意个元素和Array,并且自动把Array拆开,然后全部添加到新的Array里 71 join() 把当前Array的每个元素都用指定的字符串连接起来,然后返回连接后的字符串 72 注:如果Array的元素不是字符串,将自动转换为字符串后再连接 73 */ 74 var arr2 = arr.concat([1,2,3]) 75 console.log(arr2) //[undefined × 2, "good", "boy", 2, 1, 1, 2, 3] 76 console.log(arr2.join('-'))//--good-boy-2-1-1-2-3 77 78 /* 79 多维数组 80 如果数组的某个元素又是一个Array,则可以形成多维数组 81 */ 82 var arr3 = [[1, 2, 3], [400, 500, 600], '-'] 83 84 //通过索引获取500这个值 85 var i = arr3[1][1] 86 87 var arr4 = ['小明', '小红', '大军', '阿黄']; 88 console.log("欢迎"+(arr4.sort().slice(0,arr4.length-1))+"和"+(arr4[arr4.length-1])+"同学!"); 89 console.log(`欢迎${arr4.sort().slice(0, 3).join(',')}和${arr.pop()}同学!`) 90 </script>