Object empty value key filter

过滤空值

Utils

emptykeysFilter()



"use strict";

/**
*
* @author xgqfrms
* @license MIT
* @copyright xgqfrms
* @created 2018.11.23
* @modified 2018.11.23
*
* @description Utils 过滤空值
* @augments
* @example emptykeysFilter(obj);
*
*/ const emptykeysFilter = (obj = {}, debug = false) => {
// const newObj = {};
let keys = Object.keys(obj);
keys.forEach(
(key, i) => {
// console.log(`key`, key);
// console.log(`obj[key]`, obj[key]);
if (typeof (obj[key]) === "boolean" || typeof (obj[key]) === "number") {
// do nothing
} else if (!Object.keys(obj[key]).length) {
delete obj[key];
} else {
// newObj[key] = obj[key];
}
}
);
// console.log(`new obj =`, JSON.stringify(newObj, null, 4));
// return newObj;
// console.log(`new obj =`, JSON.stringify(obj, null, 4));
return obj;
}; const Utils = {
emptykeysFilter,
}; export default Utils; export {
Utils,
emptykeysFilter,
}; /* let obj = {
"id": "123",
"name": [],
"userName": {},
"telephoneNum": [1],
"phoneNum": {k: "v"},
"email": "",
"bool": false,
"boolean": true,
"no": 666,
};
// Object.keys(obj.bool).length emptykeysFilter(obj);
// obj = emptykeysFilter(obj); // {
// "id": "123",
// "telephoneNum": [1],
// "phoneNum": {k: "v"},
// "bool": false,
// "boolean": true,
// "no": 666,
// }; JSON.stringify(obj, null, 4); */

Object empty value key filter的更多相关文章

  1. Sharepoint学习笔记—ECM系列—文档列表的Metedata Navigation与Key Filter功能的实现

    如果一个文档列表中存放了成百上千的文档,想要快速的找到你想要的还真不是件容易的事,Sharepoint提供了Metedata Navigation与Key Filter功能可以帮助我们快速的过滤和定位 ...

  2. java Map使用Object 做为Key的问题

    近期在看dnsjava 源码的时候,不经意间发现一个自己没有想过的问题: HashMap 如何使用key去查找对应的value的,这个问题很难用语言描述的清楚,那就使用代码来进行说明吧! public ...

  3. NodeJS对象数组Array 根据对象object key的值排序sort

    有个js对象数组 var ary=[{id:1,name:”b”},{id:2,name:”b”}] 需求是根据name 或者 id的值来排序,这里有个风骚的函数. /** * 对数组中的对象,按对象 ...

  4. 取出List<Map<String,Object>>里面Map的key:value值

    1.取出Map其中一个属性的值 Map map = new HashMap(); map.put("key1", "value1"); map.put(&quo ...

  5. java springmvc Log4j filter等(稍微完善一下项目)

    仅供参考-接上文 springmvc  1.设置Log4jConfigListener日志监听(可以为开发调试.发布后运行的意外调试.等) 在src/main/resources目录下新建log4j. ...

  6. 详解javascript,ES5标准中新增的几种高效Object操作方法

    1.Object 对象 (JavaScript) 提供对所有 JavaScript 对象通用的功能.参考网站:https://msdn.microsoft.com/zh-cn/library/kb6t ...

  7. Python特殊语法--filter、map、reduce、lambda

    一.filter(function, sequence) 对sequence中的item依次执行function(item),将执行结果为True的item组成一个List/String/Tuple( ...

  8. python几个特别函数map filter reduce lambda

    lambda函数也叫匿名函数,即,函数没有具体的名称.先来看一个最简单例子: def f(x): return x**2 print f(4) Python中使用lambda的话,写成这样 g = l ...

  9. Spring Cloud Zuul网关 Filter、熔断、重试、高可用的使用方式。

    时间过的很快,写springcloud(十):服务网关zuul初级篇还在半年前,现在已经是2018年了,我们继续探讨Zuul更高级的使用方式. 上篇文章主要介绍了Zuul网关使用模式,以及自动转发机制 ...

随机推荐

  1. POJ 2007--Scrambled Polygon(计算凸包,点集顺序)

    Scrambled Polygon Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 10094   Accepted: 476 ...

  2. baidu 地图 鼠标移上显示标签 鼠标离开隐藏标签

    为了解决 label太多,文字会重叠看不清 所以提出这种办法 核心代码 1,创建的时候 将label设置为隐藏 2,通过百度地图监听事件 ,  mouseover或onmouseover 触发显示 3 ...

  3. ASP.NET HttpHandler加水印

    一.指定Handler方式 1.添加Handler一般处理程序 2.PicHandler.ashx源码如下: 需要的引用: using System; using System.Collections ...

  4. github 常用

    1.创建KEY,这个文件生成完了后,要保存好公钥和私钥文件 ssh-keygen -t rsa -C "abc@mail.com" 2.github上添加ssh密钥 3.拷贝公钥信 ...

  5. ElasticSearch : 基础

    #新建索引以及类型: PUT http://10.18.43.3:9200/test { "settings": { "number_of_shards": 3 ...

  6. laravel -- 路由

    基本路由 Route::get('/get',function (){ return "this is get"; }); Route::post('/post',function ...

  7. hive自定义函数(UDF)

    首先什么是UDF,UDF的全称为user-defined function,用户定义函数,为什么有它的存在呢?有的时候 你要写的查询无法轻松地使用Hive提供的内置函数来表示,通过写UDF,Hive就 ...

  8. Windows和Linux系统下,虚拟环境安装的全面说明和详细步骤

    虚拟环境的创建和使用 用途: ​ 1.在同一台电脑安装同一个包的不同版本 2.记录项目所用的所有的包的版本,方便部署. 如何使用: 1.创建虚拟环境 mkvirtualenv 虚拟环境名 -p pyt ...

  9. CopyArrays

    import java.util.Arrays; public class CopyArrays { public static void main(String args[]) { int []a ...

  10. 007---logging日志模块

    logging模块 用途:服务器运行日志.运维日志... import logging from logging.handlers import RotatingFileHandler, TimedR ...