数组

 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>
原文地址:https://www.cnblogs.com/tiantian9542/p/7261860.html