最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

从对象中删除空对象,数组,字符串或整数

运维笔记admin19浏览0评论

从对象中删除空对象,数组,字符串或整数

从对象中删除空对象,数组,字符串或整数

我有以下无效的代码段,并决定将其隔离为一个nodejs脚本:

const _ = require('lodash');

let derpObject = {
    foo: "hey",
    bar: "",
    foo2: [],
    bar2: {}
}

function cleanObject(params) {
    const newObject = Object.keys(params).forEach( key => {
    console.log(params[key]);
        if(_.isNil(params[key]) || _.isEmpty(params[key])) {
      delete params[key]
    }
    });
  console.log('here', newObject);
  return newObject;
}

let result = cleanObject(derpObject);
console.log(result);

基本上,我的目的是检查主对象中哪些属性为空或null并将其删除,最后返回仅具有非空/ null属性的新对象。

但是,运行以上脚本输出:

hey

[]
{}
here undefined
undefined
=> undefined

知道为什么我变得不确定吗?我已经用这个敲了一段时间了

回答如下:

我想你快到了。我对逻辑进行了一些更改,以便如果值有效(不为nil或不为空),它将添加对象键和值

function cleanObject(params) {
    let newObject = {};
    Object.keys(params).forEach( key => {
        console.log(params[key]);
        if(!_.isNil(params[key]) || !_.isEmpty(params[key])) {
            newObject[key] = params[key]
        }
    });
  console.log('here', newObject);
  return newObject;
}
发布评论

评论列表(0)

  1. 暂无评论