<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <script> // 数组在js中不是大括号 而是中括号 var arr = [1, 2, 3] console.log(arr[0]) console.log(arr[1]) console.log(arr[2]) console.log(arr[3]) // 报错还是其他 这里是undefined // 这里并不要求是相同的数据类型 var arr1 = new Array(3, 4, 5.12, 'abc', true, null) console.log(arr1) console.log(arr1.length) // 可以调整数组大小 如果新的长度大于原长度 会补空 如果小于原长度 会截取 arr1.length = 2 console.log(arr1) arr1.length = 6 console.log(arr1) var arr2 = ['A','B','C'] arr2[1] = 99 console.log(arr2) arr2[4] = 97 // 索引超出范围时 数组大小会自动调整 空的位置使用undefined console.log(arr2) //A 99 C undefined 97 console.log(typeof arr2[3]) var arr3 = [10,20,'30','xyz'] // 查找元素在数组中的索引位置 console.log(arr3.indexOf(20)) // 1 console.log(arr3.indexOf(30)) // -1 console.log(arr3) // 和java中的subString()是类似的 console.log(arr3.slice(3)) console.log(arr3.slice(0,3)) // 如果没有传参数 会从头到尾截取 相当于复制数组 console.log(arr3.slice()) // 如果往数组中添加元素 可以用push 会添加到末尾 同时可以push多个 arr3.push(40) console.log(arr3) arr3.push(50,60) console.log(arr3) // 取数据 10 or 60 // 从尾部取 可以达到栈的效果 先进后出 后进先出 arr3.pop() console.log(arr3) var arr4 = [1] console.log(arr4.pop()) console.log(arr4.pop()) // 会报错吗 undefined // 如果要从数组头部添加元素 arr4.unshift(10,20) console.log(arr4) arr4.unshift(30) console.log(arr4) // 如果从数组头部 删除元素 console.log(arr4.shift()) console.log(arr4) console.log(arr4.shift()) console.log(arr4.shift()) console.log(arr4.shift()) // undefined // var arr5 = [12,68,5,10,89] // [10,12,5,68,89] var arr5 = ['B','C','A'] console.log(arr5.sort()) // concat可以把两个数组连接起来 返回一个新的数组 var arr6 = arr5.concat([1,2,3]) console.log(arr6) // 将数组中的每个元素用指定的字符串联起来 返回连接后的字符串 console.log(arr6.join('-')) // A-B-C-1-2-3 // 翻转数组 arr6.reverse() console.log(arr6) // 从索引2开始 删除3个元素 arr6.splice(2,3) console.log(arr6) // 可以在删除的同时 进行添加 arr6.splice(2,1,'D','E') console.log(arr6) var arr7 = [[1,2,3],[4,5,6]] console.log(arr7) </script> </head> <body> Hi Array </body> </html>