JavaScript--数据结构

 

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>

 

posted @ 2022-10-14 01:14  漫漫长路</>  阅读(16)  评论(0编辑  收藏  举报