• 多维数组的运用_增删改查_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]}`)
                    }
                }
            }

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

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

  • 相关阅读:
    五十:数据库之Flask-Script详解
    四十九:数据库之Flask-SQLAlchemy下alembic的配置
    四十八:数据库之alembic常用命令和经典错误的解决办法
    四十七:数据库之alembic数据库迁移工具的基本使用
    四十六:数据库之Flask-SQLAlchemy的使用
    四十五:数据库之SQLAlchemy之subquery实现复杂查询
    四十四:数据库之SQLAlchemy之join实现复杂查询
    四十三:数据库之SQLAlchemy之group_by和having子句
    四十二:数据库之SQLAlchemy之数据查询懒加载技术
    四十一:数据库之SQLAlchemy之limlt、、slice、offset及切片
  • 原文地址:https://www.cnblogs.com/DZzzz/p/12964343.html
Copyright © 2020-2023  润新知