zoukankan      html  css  js  c++  java
  • 数组新增数据 数组详细应用

       // 新增数组数据单元
            // 对不存在的索引下标进行赋值操作
            // 执行结果就是在数组中,新增一个存储单元,索引下标是定义的索引下标,数据是定义的数据

            var arr = [100,200,300];

            // 对已有的索引下标赋值,执行结果是修改这个索引下标存储的数据
            arr[0] = '北京';

            console.log(arr);

            // 现在的索引下标是 0 1 2 
            // 给一个不存在的索引下标进行赋值
            // 执行效果是 新增索引下标3 存储数据是 '我是新增的'
            arr[3] = '我是新增的';

            // 上述情况是 连续的索引下标 也就是 0 1 2 之后 继续写 3
            // 如果是 不连续的索引下标

            // 会新增单元, 新增单元的索引下标是定义的索引下标 数据是定义的数据
            // 新增的索引下标  至 原始索引下标之间 
            // JavaScript程序会自动存储 数据为空的单元
            //  ["北京", 200, 300, "我是新增的", empty × 296, "我是蹦跶出来的"]
            // 索引0 北京  索引1 200  索引2 300  索引3 我是新增的 
            // 索引4 - 索引299 都是存储数据为空的数据单元 , 这些索引,这些数据单元,是存在的,只是存储的数据是空数据
            // 索引300 存储 我是蹦跶出来的
            
            // 如果调用这些 empty 的数据单元,执行结果是 undefined 表示没有被正确赋值
            // 虽然浏览显示的 empty 但是 这些单元 实际上是没有被正确赋值的
            // 调用的执行结果是 undefined 没有正确赋值

            // 我们定义数组时,要求,索引下标,必须是连续的

            arr[300] = '我是蹦跶出来的';

            console.log(arr);
            console.log(arr[200]);
     
     
     
    <!DOCTYPE html>
    <html lang="en">

    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
        <style>
            table {
                border-collapse: collapse;
            }

            td {
                 80px;
                height: 30px;
                text-align: center;
                border: 1px solid #000;
            }
        </style>
    </head>

    <body>

        <table>
            <thead>
                <tr>
                    <td>序号</td>
                    <td>姓名</td>
                    <td>年龄</td>
                    <td>性别</td>
                    <td>住址</td>
                    <td>爱好</td>
                </tr>
            </thead>
            <tbody></tbody>
        </table>
        <script>
            var arr = [
                ['张三', 18, '男', '北京', 'LOL'],
                ['李四', 19, '女', '上海', '吃鸡'],
                ['王五', 20, '保密', '广州', '王者'],
                ['赵六', 21, '不是人', '月球', '挖矿'],
                ['刘七', 22, '不详', '火星', '种土豆'],
            ];

            /*
            // 定义一个变量,来存储,根据数组结果,渲染生成的页面内容,也就是字符串内容
            var str = '';

            // 外层循环,生成行数
            // 循环变量i 的范围 就是 索引下标的范围 , 需要索引下标来提取数据
            // 每一行的内容,可以通过 arr[i] 获取 
            // 每一行要定义 一对 tr 标签
            // 有一个索引下标,就会循环一次,就会生成一个 tr 标签
            for(var i = 0 ; i <= arr.length-1 ; i++){
                // 先生成一对 tr标签 包裹 td 标签 
                str += '<tr>';
                // 在 tr 起始和结束标签之前,嵌套 td 标签
                // 标签内容是 i+1 因为是变量不需要解析,可以使用模板字符串
                // 这是序号td单元格
                str += `<td>${i+1}</td>`;
                // 字符串拼接
                // str += '<td>' + (i+1) + '</td>';


                // 在需要td 单元格之后,拼接新的td单元格聂荣
                // 当 i 是 0  时 等于 是 arr[0][0] -- 张三
                // 当 i 是 1  时 等于 是 arr[1][0] -- 李四
                // 当 i 是 2  时 等于 是 arr[2][0] -- 王五
                // 当 i 是 3  时 等于 是 arr[3][0] -- 赵六
                // 当 i 是 4  时 等于 是 arr[4][0] -- 刘七
                // str += `<td>${arr[i][0]}</td>`;
                // // 修改第二个索引下标,就是获取二维数组中每一个数据单元
                // str += `<td>${arr[i][1]}</td>`;
                // str += `<td>${arr[i][2]}</td>`;
                // str += `<td>${arr[i][3]}</td>`;
                // str += `<td>${arr[i][4]}</td>`;

                // 第二个索引下标的范围是 二维数组 arr[i] 的索引下标范围
                // 0 至  arr[i].length-1  就是 二维数组 的 length 
                // 可以通过 内层 循环 根据 二维数组 arr[i] 生成 td 单元格
                
                for(var j = 0 ; j <= arr[i].length-1 ; j++){
                    // j就是通过循环生成的 二维数组的索引下标
                    str += `<td>${arr[i][j]}</td>`;
                }

                // 循环结束,拼接 tr 结束标签
                str += '</tr>';
                console.log(i , arr[i]);
            }

            // 将结果写入到 tbody 标签中
            // 这里数据 DOM 操作,现在不用管,我们之后会详细解释
            document.querySelector('tbody').innerHTML = str;
            */



            // 实现不行,你可以这么理解
            // 每一个 td  单元格 都是 可以独立完成的

            str1 = '';

            str1 += `<tr>
                        <td>1</td>
                        <td>${arr[0][0]}</td>
                        <td>${arr[0][1]}</td>
                        <td>${arr[0][2]}</td>
                        <td>${arr[0][3]}</td>
                        <td>${arr[0][4]}</td>
                    </tr>`;

            str1 += `<tr>
                        <td>2</td>
                        <td>${arr[1][0]}</td>
                        <td>${arr[1][1]}</td>
                        <td>${arr[1][2]}</td>
                        <td>${arr[1][3]}</td>
                        <td>${arr[1][4]}</td>
                    </tr>`;

            str1 += `<tr>
                        <td>3</td>
                        <td>${arr[2][0]}</td>
                        <td>${arr[2][1]}</td>
                        <td>${arr[2][2]}</td>
                        <td>${arr[2][3]}</td>
                        <td>${arr[2][4]}</td>
                    </tr>`;

            str1 += `<tr>
                        <td>4</td>
                        <td>${arr[3][0]}</td>
                        <td>${arr[3][1]}</td>
                        <td>${arr[3][2]}</td>
                        <td>${arr[3][3]}</td>
                        <td>${arr[3][4]}</td>
                    </tr>`;
            str1 += `<tr>
                        <td>5</td>
                        <td>${arr[4][0]}</td>
                        <td>${arr[4][1]}</td>
                        <td>${arr[4][2]}</td>
                        <td>${arr[4][3]}</td>
                        <td>${arr[4][4]}</td>
                    </tr>`;

            // 我们通过循环,生成的就是这些内容

            document.querySelector('tbody').innerHTML = str1;
        </script>
    </body>

    </html>
    右侧打赏一下 代码改变世界一块二块也是爱
  • 相关阅读:
    LeetCode 222.完全二叉树的节点个数(C++)
    LeetCode 704.二分查找(C++)
    LeetCode 441.排列硬币(C++)
    LeetCode 981.基于时间的键值存储(C++)
    LeetCode 167.两数之和(C++)
    LeetCode 367.有效的完全平方数(C++)
    LeetCode 881.救生艇(C++)
    LeetCode 860.柠檬水找零(C++)
    LeetCode 870.优势洗牌(C++)
    bootstrap
  • 原文地址:https://www.cnblogs.com/ht955/p/14028146.html
Copyright © 2011-2022 走看看