zoukankan      html  css  js  c++  java
  • 多维数组的运用_增删改查_JS_读书笔记

    近来有一个学弟问我一个问题:怎么样对多维数组进行增删改查呢?于是百度了多维数组的概念,以及增删改查的方法,其中最印象深刻的就是下面的这篇回答了,于是就有了这篇笔记

    摘录自:https://www.cnblogs.com/nb08611033/p/8287955.html

    一.JS 三维数组赋值

    一维数组:[1,2,3];  //数组的每一个元素是一个标量

    二维数组:[["a","b","c"],[1,2,3],123];  //数组的每一个元素是一个一维数组

    三维数组:[[["a","b","c"],[1,2,3]],[["a","b","c"],[1,2,3]]];  //数组的每一个元素是一个二维数组

    需要注意的是,多维空数组不能直接向某个元素赋值,如

    var arr1=[];//一维数组
    var arr2=[];//二维数组
    var arr3=[];//三维数组
    //直接赋值,失败
    arr3[0][0][0]=1;
    //必须,逐层赋值
    arr1[0]=0;
    arr2[0]=arr1
    arr3[0]=arr2;
    //可以直接访问元素
    console.log(arr3[0][0][0]);

     以下摘录自一篇印象深刻的百度知道:https://zhidao.baidu.com/question/988881727273072819.html

    二:怎么样对层级深的数组进行增删改查

    1、这个数据是 楼盘名称—栋数——单元号——房间号。

    2、这json格式的楼盘数据表是存在数据库project表中的dashboard字段中。见图1,需求:我需求把这个字段用PHP取出后传递到前台,然后对这个楼盘进行栋数、单元、房号的增删改查操作。

    劳烦大神帮我把增删改查的思路或者整理出来,主要是层级比较深,这都4-5级了。

     

    {
        "name": "中海国际",
        "blocks": [{
            "id": 1,
            "name": "A座",
            "floors": [{
                "id": 1,
                "name": "1F",
                "rooms": ["1001", "1002"]
            }, {
                "id": 2,
                "name": "2F",
                "rooms": ["2001", "2002"]
            }]
        }]
    }

     解答:

         var objs = {
                "name": "中海国际",
                "blocks": [{
                    "id": 1,
                    "name": "A座",
                    "floors": [{
                        "id": 1,
                        "name": "1F",
                        "rooms": ["1001", "1002"]
                    }, {
                        "id": 2,
                        "name": "2F",
                        "rooms": ["2001", "2002"]
                    }]
                }]
            }
            console.log(`objs.name${objs.name}`)


            for (var i = 0; i < objs.blocks.length; i++) {
                var block = objs.blocks[i];
                var floor = block.floors;
                console.log(`block.name${block.name}`)
                for (var j = 0; j < floor.length; j++) {
                    console.log(`floor[j].id ${floor[j].id}------floor[j].name${floor[j].name}`)
                    var room = floor[j].rooms;
                    for (var k = 0; k < room.length; k++) {
                        console.log(`room[k]${room[k]}`)
                    }
                }
            }

    其实二并不是一个多维数组,它只是一个层级很深的一维数组,但是有什么关系呢,也许有很多人也勿以为是多维数组呢 

    后记:如果你遇到了我一样的问题,希望我的笔记对你有帮助。

  • 相关阅读:
    17.Letter Combinations of a Phone Number(递归生成序列)
    BZOJ 4052 Magical GCD
    管理学的入门经典书籍,初级管理学书籍推荐
    关于经营战略的书,商业战略书籍推荐
    如何成为一名合格的销售管理者?
    能帮你提升沟通能力的书籍推荐
    提升领导力心得体会
    口才和说服力的书籍推荐,学会说服别人你需要看这本书
    团队管理的书籍推荐 ,这些书教你如何打造团队
    管理学必读书单推荐:这些书教你学好经营管理知识
  • 原文地址:https://www.cnblogs.com/DZzzz/p/12964343.html
Copyright © 2011-2022 走看看