js中一个移除对象中子集数组中空值(null,undefined)的函数

function removeNull(obj){
let delarr = [];
for(let i in obj){
// 排除法寻找对象类型
if(typeof(obj[i]) === 'boolean' ||
typeof(obj[i]) === 'string' ||
typeof(obj[i]) === 'number' ||
typeof(obj[i]) === 'bigint' ||
typeof(obj[i]) === 'symbol' ||
typeof(obj[i]) === 'function'
// 如果你有其他类型的在这里声明一下
) continue;
if(obj[i] == null || obj[i] == undefined){
delarr.push(i);
}else{
this.removeNull(obj[i]);
}
}
while(delarr.length>0){
if(obj.length != undefined){
// 数组
obj.splice(delarr.pop(),1);
}else{
// 对象
// 暂时还没找到处理方法
delarr.pop();
}
}
return obj;
}

测试函数:

let a = {b:null,c:[null,1,2,null,null],d:{aa:1,bb:2,cc:null,dd:undefined}}
console.log(JSON.stringify(a));
console.log(removeNull(a));

还未实现移除子对象中空属性的功能

js中一个移除对象中子数组中空值的函数的更多相关文章

  1. js循环判断创建新对象放数组中

    原效果 之后效果: <!doctype html> <html lang="en"> <head> <meta charset=" ...

  2. JS 判断一个字符串是否包含在一个数组中

    var arr = ["白色", "黑色", "红色", "粉色"]; var sel = "黑色" ...

  3. 更好列表页中一个航班.先unset删除数组中一个键值对,再追加,最后按键排序

    <?php $arr = array( '0' => array('item' => array( 'aa' => 'aaa', 'bb' => 'bbb' )), '1 ...

  4. JS去除对象或数组中的空值('',null,undefined,[],{})

    javascript去掉对象或数组中的'',null,undefined,[],{}.思路就是创建一个新的空对象,然后对传入的对象进行遍历,只把符合条件的属性返回,保留有效值,然后就相当于把空值去掉了 ...

  5. 42.输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S, 如果有多对数字的和等于S,输出两个数的乘积最小的。

    输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S, 如果有多对数字的和等于S,输出两个数的乘积最小的. 这道题有很多烟雾弹: 首先如果有多对,最前面的两个数就是乘积最小的, ...

  6. 信1705-2 软工作业最大重复词查询思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词)数组中。 (2)定义一个Map,key是字符串类型,保存单词;value是数字类型,保存该单词出现的次数。 (3)遍历(1)中得到的字符串数组,对于每一个单词,考察Map的key中是否出现过该单词,如果没出现过,map中增加一个元素,key为该单词,value为1(

    通过学习学会了文本的访问,了解一点哈希表用途.经过网上查找做成了下面查询文章重复词的JAVA程序. 1 思 思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词 ...

  7. 【c语言】输入一个递增排序的数组的一个旋转,输出旋转数组中的最小元素

    //旋转数组的最小数字 //题目:把一个数组最開始的若干个元素搬到数组的末尾.我们称之为数组的旋转. //输入一个递增排序的数组的一个旋转.输出旋转数组中的最小元素. //比如:数组{3.4,5,1, ...

  8. 微信小程序:给data中对象中的属性设置值与给data中的属性或对象或数组设置值的区别

    一.给data中的属性或对象或数组设置值,属性名不需要加引号 this.setData({ material: param, // 这里material为对象 } this.setData({   d ...

  9. JS 判断某变量是否为某数组中的一个值 的几种方法

    1.正则表达式 js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数. }; 用法如下: var arr=new Array([‘b’,2,‘a‘,4]) ...

  10. JS判断某变量是否为某数组中的一个值的3种方法

    1.正则表达式 js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数. 1 Array.prototype.in_array = function (e) ...

随机推荐

  1. P1514 [NOIP 2010 提高组] 引水入城 题解

    题意:P1514 [NOIP 2010 提高组] 引水入城有点复杂,自己看吧. 思路 这里提供一个好像没见过的纯 DP 做法,不需要神秘的证明以及任何脑子,直接顺着思路做即可. 首先判断正确性就是从第 ...

  2. UVW源码漫谈(一)

    博客园是个非常好的学习知识的地方,相信有很多人跟我一样,园龄3年,从博客园不知道拷了多少代码,看了多少博客,自己却一篇博客都没写过.真是罪过. 这次准备写几篇关于这个项目源码的阅读和理解的文章,大家一 ...

  3. CAN304 W3

    CAN304 W3 Message authentication code Message integrity 我们一直关注确保通信的保密性. Integrity:确保接收到的消息来自预期方,并且未被 ...

  4. C# 锁机制全景与高效实践:从 Monitor 到 .NET 9 全新 Lock

    引言:线程安全与锁的基本概念 线程安全 在多线程编程中,保障共享资源的安全访问依赖于有效的线程同步机制.理解并处理好以下两个核心概念至关重要: 线程安全:指某个类.方法或数据结构能够在被多个线程同时访 ...

  5. ui-router 路由重定向

    $urlRouterProvider .when('/c?id', '/contacts/:id') .when('/user/:id', '/contacts/:id') .otherwise('/ ...

  6. TreeMap实现类和SortMap接口

    注意:Map与Set集合的关系非常密切.java源码就是先实现了HashMap,TreeMap,再包装了一个value都为null的Map集合实现Set集合类. 因此:TreeSet可以和TreeMa ...

  7. Spring AI Alibaba智能测试用例生成

    还在为手动编写测试用例秃头吗?面对复杂需求文档,一个一个抠测试点,不仅效率低,还容易遗漏关键场景?为了解决该问题,笔者依托Spring AI开发了测试用例生成工具~ ​后端源码:https://git ...

  8. vscode prettier

    前言 与通过npm安装的prettier关联 vscode 的 prettier 扩展,会优先使用 你项目中明确安装的 prettier(既 npm i prettier --D) 的版本, 如果你没 ...

  9. 前端开发系列040-基础篇之TypeScript简单介绍

    一.TypeScript语言简单说明 简单说明 TypeScript 是微软2012年推出的一种编程语言,属于 JavaScript 的超集,可以编译为 JavaScript 执行.它最大特点是强大的 ...

  10. 使用frpc 进行windows 内网穿透

    简介 内网穿透还是一个常用的需求. 参考链接 http://www.codingwhy.com/view/2504.html 软件下载 https://github.com/codemonkey-m/ ...