01.为什么使用数组
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>为什么使用数组</title> </head> <body> <script> // 保存班级中所有学生的名字 var name1 = "Tom" var name2 = "Lily" var name3 = "Lucy" var name4 = "Lilei" var name5 = "Coderwhy" // 使用数组来保存学生名字 var names = ["Tom", "Lily", "Lucy", "Lilei", "Coderwhy"] </script> </body> </html>
02.创建和初始化数组
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>创建和初始化数组</title> </head> <body> <script> // 创建和初始化数组 var daysOfWeek = new Array() var daysOfWeek = new Array(7) var daysOfWeek = new Array('Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday') // 直接赋值数组内容 var daysOfWeek = ['Sunday', 'Monday', 'Tuesday', 'Wednesday', 'Thursday', 'Friday', 'Saturday']; // 获取数组的长度 // alert(daysOfWeek.length) // // // 普通for方式遍历数组 // for (var i = 0; i < daysOfWeek.length; i++) { // alert(daysOfWeek[i]) // } // // // 通过foreach遍历数组 // daysOfWeek.forEach(function (value) { // alert(value) // }) // 求菲波那切数列的前20个数字 var fibonacci = [] fibonacci[0] = 1 fibonacci[1] = 1 for (var i = 2; i < 20; i++) { fibonacci[i] = fibonacci[i - 1] + fibonacci[i - 2] } alert(fibonacci) </script> </body> </html>
03.数组的常见操作
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>itjc8</title> </head> <body> <script> // 初始化一个数组 var numbers = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] // 添加一个元素10到数组的最后位置 // 方式一: numbers[numbers.length] = 10 // 方式二: numbers.push(11) numbers.push(12, 13) // alert(numbers) // 在数组首位插入一个元素 for (var i = numbers.length; i > 0; i--) { numbers[i] = numbers[i-1] } numbers[0] = -1 // alert(numbers) // -1,0,1,2,3,4,5,6,7,8,9,10,11,12,13 // 通过unshift在首位插入数据 numbers.unshift(-2) numbers.unshift(-4, -3) // alert(numbers) // -4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12,13 // // 删除最后的元素 // numbers.pop() // alert(numbers) // -4,-3,-2,-1,0,1,2,3,4,5,6,7,8,9,10,11,12 // // // 删除首位的元素 // for (var i = 0; i < numbers.length; i++) { // numbers[i] = numbers[i+1] // } // numbers.pop() // alert(numbers) // // numbers.shift() // alert(numbers) // 删除指定位置的几个元素 numbers.splice(5, 3) // alert(numbers) // -4,-3,-2,-1,0,4,5,6,7,8,9,10,11,12,13 // 插入指定位置元素 numbers.splice(5, 0, 3, 2, 1) // alert(numbers) // -4,-3,-2,-1,0,3,2,1,4,5,6,7,8,9,10,11,12,13 // 修改指定位置的元素 numbers.splice(5, 3, "a", "b", "c") alert(numbers) // -4,-3,-2,-1,0,a,b,c,4,5,6,7,8,9,10,11,12,13 </script> </body> </html>
04.数组的合并
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> // // 数组的合并 // var nums1 = [1, 2, 3] // var nums2 = [100, 200, 300] // var newNums = nums1.concat(nums2) // alert(newNums) // 1,2,3,100,200,300 // // newNums = nums1 + nums2 // alert(newNums) // // nums1.eve // 定义数组 var names = ["abc", "cb", "mba", "dna"] // 在names中所有的元素后面拼接-abc var newNames = names.map(function (t) { return t + "-abc" }) alert(newNames) // // 获取names中所有包含'a'字符的元素 // var newNames = names.filter(function (t) { // return t.indexOf("a") != -1 // }) // alert(newNames) // // forEach的使用 // names.forEach(function (t) { // alert(t) // }) // // 判断数组中是否包含有a字符的字符 // var flag = names.some(function (t) { // alert(t) // return t.indexOf("a") != -1 // }) // alert(flag) // // 判断数组的元素是否都包含a字符 // var flag = names.every(function (t) { // return t.indexOf('a') != -1 // }) // alert(flag) </script> </body> </html>
05.reduce方法
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <script> // 1.定义数组 var numbers = [1, 2, 3, 4] // 2.for实现累加 // var total = 0 // for (var i = 0; i < numbers.length; i++) { // total += numbers[i] // } // alert(total) // 10 // 3.使用forEach // var total = 0 // numbers.forEach(function (t) { // total += t // }) // alert(total) // 4.使用reduce方法 var total = numbers.reduce(function (pre, cur) { return pre + cur }) alert(total) </script> </body> </html>