二维数组合并
输入这样一个数组
1 | [ |
要求经过处理得到这样一个结果, 也就是 2x2 = 4个
1 | [ |
或者这个数组
1 | [ |
要求经过处理得到这样一个结果, 也就是 2x2x3 = 12个
1 | [ |
代码也很简单,没啥难度,只是做一下记录
1 | let arr = [ |
输入这样一个数组
1 | [ |
要求经过处理得到这样一个结果, 也就是 2x2 = 4个
1 | [ |
或者这个数组
1 | [ |
要求经过处理得到这样一个结果, 也就是 2x2x3 = 12个
1 | [ |
代码也很简单,没啥难度,只是做一下记录
1 | let arr = [ |
Nest 操作 Mongodb 官方文档:https://docs.nestjs.com/techniques/mongodb
1 | npm install --save @nestjs/mongoose mongoose |
在 app.module.ts 中配置数据库连接
1 | import { Module } from '@nestjs/common'; |
1 | import * as mongoose from 'mongoose'; |
1 | import { Module } from '@nestjs/common'; |
1 | import { Injectable } from '@nestjs/common'; |
有如下一个数据,但它是用数组存放的具有联级关系的数据,需要将其转化为适合UI库的数据结构树状结构
1 | const data = [ |
1 | [ |
使用String.prototype.split()
将字符串切分为数组,方便分级
1 | [ |
简单点的就是死办法,看数据貌似只有4级,所以套四重循环就可以解决
但是这样真的很蠢,很笨,一旦数据发生变化,这就白写了
按照思路来先把数组中的字符串进行切分
1 | const treeArr = [] |
观察切分好的数据结构,有的是只有一级,没有子级的,有的呢,可能有四级也可能有三级。这样就对分级存放数据结构带来了很大的困扰。
这样就需要对每一条数据进行判断,这个判断的过程就抽出来写成一个函数就行了。
1 | const treeArr = [] |
这个函数接收3个传参
judgeData
函数负责对传进来的每一条原始的字符串切分数组,进行判断,如果符合要求就push
,不符合要求就递归判断,关键是递归的思想
1 | const judgeData = (treeArr, eleArr, step) => { |
treeArr
传入的并不是预先在最开始设置的那个treeArr,而是每次存放预期数据结构的数组,因为js的对象是引用类型的所以,从对象上拆children下来传进去,并不影响存值,而step则是为了记录分级的层级,避免不知道到哪一步了,乱分。
这里贴上完整代码
1 | const data = [ |