js练习- 给你一个对象,求有几层
// 比如这个a中,就有四层。如何算出这四层
const a = {
  b: 1,
  c() {},
  d: {
    e: 2,
    f: {
      g: 3,
      h: {
        i: 4,
      },
    },
    j: {
      k: 5,
    },
  },
};
js
function testLevel(param) {
  const isObject = Object.prototype.toString.call(param) === '[object Object]';
  if (!isObject) return 0;
  const level = 1;
  let childrenLevel = 0;
  Object.entries(param)
    .map(([key, value]) => {
      const valueLevel = testLevel(value, level);
      if (valueLevel > childrenLevel) childrenLevel = valueLevel;
    });
  return level + childrenLevel;
}
js练习- 给你一个对象,求有几层的更多相关文章
- [置顶] js中如何复制一个对象,如何获取所有属性和属性对应的值
		在js中如何复制一个对象,例如如下一个js对象. 如果知道这个对象的所有属性自然就可以重新new一个,然后对每个属性赋值,就可以做到,但如果不知道呢?如何创建一个内容相同 的对象呢? var obj= ... 
- js迪杰斯特拉算法求最短路径
		1.后台生成矩阵 名词解释和下图参考:https://blog.csdn.net/csdnxcn/article/details/80057574 double[,] arr = new double ... 
- js入门基础7-2 (求模-隔行变色)
		<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ... 
- js面试之--判断一个对象是不是数组类型,一共几种方法???
- JS随鼠标坐标移动,显示浮动层内容
		在表单等项目中往往会遇到类似于“备注”.“说明”等100个字内的内容需要显示. 这些内容如果全部呈现开,会影响布局和美观,确又没有必要设计一个层或是一个页面. 那么,我们可以把这些内容放到浮动层中,鼠 ... 
- JS 点击按钮后弹出遮罩层,有关闭按钮
		<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <t ... 
- layer.js,,,分享一个好用的弹出层
		基本属性: <!DOCTYPE html> <html> <head> <head> <meta content="text/html; ... 
- arcgis api 3.x for js 入门开发系列二十二地图模态层(附源码下载)
		前言 关于本篇功能实现用到的 api 涉及类看不懂的,请参照 esri 官网的 arcgis api 3.x for js:esri 官网 api,里面详细的介绍 arcgis api 3.x 各个类 ... 
- leetCode题解之求二叉树每层的平均值
		1.题目描述 Given a non-empty binary tree, return the average value of the nodes on each level in the for ... 
随机推荐
- mysql group by使用方法注意
			mysql group by使用方法注意 group by 后面只用能用having 不能加 where等域名 
- 基于docker搭建Jenkins+Gitlab+Harbor+Rancher架构实现CI/CD操作
			一.各个组件的功能描述: Docker 是一个开源的应用容器引擎. Jenkis 是一个开源自动化服务器. (1).负责监控gitlab代码.gitlab中配置文件的变动: (2).负责执行镜像文件的 ... 
- 小白历险记:spingboot之helloworld
			还记得入职第一天的时候,先安装了相关的软件,配置了环境.boss叫我写的第一个程序:搭建一个springboot工程,输出helloworld. 哈哈话不多说,回忆一下. 1.打开IDEA,点击Cre ... 
- PHP Laravel 6.2 中用于用户登录的新密码确认流程
			Laravel 发布了 v6.2 版本,它添加了一个新的密码确认功能,该功能使你可以要求已登录的用户重新输入密码,然后才能访问路由. 在你执行敏感操作的时候,这个功能就类似GitHub确认对话框.在 ... 
- Python多线程与队列
			Python多线程与Queue队列多线程在感官上类似于同时执行多个程序,虽然由于GIL的存在,在Python中无法实现线程的真正并行,但是对于某些场景,多线程仍不失为一个有效的处理方法: 1,不紧急的 ... 
- SpringBoot 源码解析 (六)----- Spring Boot的核心能力 - 内置Servlet容器源码分析(Tomcat)
			Spring Boot默认使用Tomcat作为嵌入式的Servlet容器,只要引入了spring-boot-start-web依赖,则默认是用Tomcat作为Servlet容器: <depend ... 
- 四 linuk常用命令   2. 权限管理命令
			一 权限管理命令chmod 所有者u 所属组g 其他人o 所有人a 所有者和root超级用户可以更改该权限 普通更改权限是不会改变子目录的权限的,要想改变用递归修改 useradd增加用户 目录的r和 ... 
- SpringBoot 正式环境必不可少的外部化配置
			前言 <[源码解析]凭什么?spring boot 一个 jar 就能开发 web 项目> 中有读者反应: 部署后运维很不方便,比较修改一个 IP 配置,需要重新打包. 这一点我是深有体会 ... 
- Openlayers Overlay使用心得
			Overlay在Openlayers里是浮动层的概念,区别于vector这样的图层,通常用于弹窗.撒点.以及解决加载icon样式不支持的gif等格式图片. 此次用overlay的过程中遇到很多问题,在 ... 
- Java基础知识总结之垃圾回收机制
			垃圾回收机制 Java垃圾回收机制是Java语言的重要功能之一.当程序创建对象,数组等引用类型对象时,系统会自动在内存区为之分配一块内存,对象就保存在这块内存区内,当这块内存不再被任何变量引用时,这块 ... 
