js中一个移除对象中子数组中空值的函数
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中一个移除对象中子数组中空值的函数的更多相关文章
- js循环判断创建新对象放数组中
原效果 之后效果: <!doctype html> <html lang="en"> <head> <meta charset=" ...
- JS 判断一个字符串是否包含在一个数组中
var arr = ["白色", "黑色", "红色", "粉色"]; var sel = "黑色" ...
- 更好列表页中一个航班.先unset删除数组中一个键值对,再追加,最后按键排序
<?php $arr = array( '0' => array('item' => array( 'aa' => 'aaa', 'bb' => 'bbb' )), '1 ...
- JS去除对象或数组中的空值('',null,undefined,[],{})
javascript去掉对象或数组中的'',null,undefined,[],{}.思路就是创建一个新的空对象,然后对传入的对象进行遍历,只把符合条件的属性返回,保留有效值,然后就相当于把空值去掉了 ...
- 42.输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S, 如果有多对数字的和等于S,输出两个数的乘积最小的。
输入一个递增排序的数组和一个数字S,在数组中查找两个数,使得他们的和正好是S, 如果有多对数字的和等于S,输出两个数的乘积最小的. 这道题有很多烟雾弹: 首先如果有多对,最前面的两个数就是乘积最小的, ...
- 信1705-2 软工作业最大重复词查询思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词)数组中。 (2)定义一个Map,key是字符串类型,保存单词;value是数字类型,保存该单词出现的次数。 (3)遍历(1)中得到的字符串数组,对于每一个单词,考察Map的key中是否出现过该单词,如果没出现过,map中增加一个元素,key为该单词,value为1(
通过学习学会了文本的访问,了解一点哈希表用途.经过网上查找做成了下面查询文章重复词的JAVA程序. 1 思 思路: (1)将文章(一个字符串存储)按空格进行拆分(split)后,存储到一个字符串(单词 ...
- 【c语言】输入一个递增排序的数组的一个旋转,输出旋转数组中的最小元素
//旋转数组的最小数字 //题目:把一个数组最開始的若干个元素搬到数组的末尾.我们称之为数组的旋转. //输入一个递增排序的数组的一个旋转.输出旋转数组中的最小元素. //比如:数组{3.4,5,1, ...
- 微信小程序:给data中对象中的属性设置值与给data中的属性或对象或数组设置值的区别
一.给data中的属性或对象或数组设置值,属性名不需要加引号 this.setData({ material: param, // 这里material为对象 } this.setData({ d ...
- JS 判断某变量是否为某数组中的一个值 的几种方法
1.正则表达式 js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数. }; 用法如下: var arr=new Array([‘b’,2,‘a‘,4]) ...
- JS判断某变量是否为某数组中的一个值的3种方法
1.正则表达式 js 中判断某个元素是否存在于某个 js 数组中,相当于 PHP 语言中的 in_array 函数. 1 Array.prototype.in_array = function (e) ...
随机推荐
- 人工神经网络(ANN)模型
一.概述 人工神经网络(Artificial Neural Network,ANN),是一种模拟生物神经网络结构和功能的计算模型,它通过大量的神经元相互连接,实现对复杂数据的处理和模式识别.从本质 ...
- 操作系统:Linux如何实现进程与进程调度
Linux如何表示进程 在Cosmos中,设计了一个thread_t数据结构来代表一个进程,Linux也同样是用一个数据结构表示进程. Linux进程的数据结构 在Linux系统下,把运行中的应用程序 ...
- 构建现代交互式平台:CodeBuddy如何简化复杂系统开发
我正在参加CodeBuddy「首席试玩官」内容创作大赛,本文所使用的 CodeBuddy 免费下载链接:腾讯云代码助手 CodeBuddy - AI 时代的智能编程伙伴 交互式平台的架构挑战 构建现代 ...
- Nuxt的SEO实践
第9章:Nuxt的SEO实践 1. 引言 Nuxt框架在SEO方面的优势主要体现在以下几个方面: 服务器端渲染(SSR): Nuxt默认支持SSR,这意味着搜索引擎爬虫可以直接看到完整的页面内容,而不 ...
- linux下用android-file-transfer-linux替换掉 gvfs-mtp来挂载mtp
用android-file-transfer-linux替换掉 gvfs-mtp来挂载mtp 问题现状 在我使用gvfs-mtp挂载的时候,无论读取文件还是获取对应文件夹下所有文件的路径等操作,都非常 ...
- 第1.2讲、从 RNN 到 LSTM 再到 Self-Attention:深度学习中序列建模的演进之路
处理序列数据(如文本.语音.时间序列)一直是深度学习的重要课题.在这个领域中,我们从 RNN(Recurrent Neural Network)出发,经历了 LSTM(Long Short-Term ...
- SmolVLM2轻量级视频多模态模型,应用效果测评(风景、事故、仿真、统计、文字、识物)
SmolVLM2轻量级视频多模态模型,应用效果测评 目 录 1. 前言... 2 2. 应用部署... 2 3. 应用效果... 4 1.1 风景 ...
- Lombok 类库使用详解
Lombok 是一个 Java 库,通过注解自动生成常用的样板代码(如 getter/setter.构造函数.日志声明等),显著减少代码量,同时提高代码整洁度. 一.配置方法 (1)IDE:需安装 L ...
- 2023电赛E题代码
openmv: import sensor, image, time from pyb import LED, UART #import lcd import json, ustruct class ...
- 超实用!SpringAI提示词的4种神级用法
提示词(Prompt)是输入给大模型(LLM)的文本指令,用于明确地告诉大模型你想要解决的问题或完成的任务,也是大语言模型理解用户需求并生成准确答案的基础.因此 prompt 使用的好坏,直接决定了大 ...