当前位置: 首页 > 知识库问答 >
问题:

删除只是未定义(不是null)[重复]

卢出野
2023-03-14

我正在使用库Lodash,我需要从我的javascript对象中删除可能的未定义属性,但我希望保留null属性。

例如,如果我有这样的对象:

var fooObject = {propA:undefined, propB:null, propC:'fooo'};

我希望输出如下:

{propB:null, propC:'fooo'}

我试过这个:

.pickBy(fooObject, _.identity);

但它也会删除空值。Lodash是否包含一些功能?谢谢

共有3个答案

常英纵
2023-03-14

尝试使用.ommitby方法。

对于未定义和空值。

_代码和代码_

 var fooObject = {propA:undefined, propB:null, propC:'fooo'};

从对象中删除未定义的

var newObj= _(fooObject).omitBy(_.isUndefined).value();
 console.log(newObj);

如果你想删除未定义的null

var result = _(fooObject).omitBy(_.isUndefined).omitBy(_.isNull).value();
console.log(result);

希望这有帮助...!

蒲昊苍
2023-03-14

返回任何未定义的内容u.isUndefined:

_.pickBy({propA:undefined, propB:null, propC:'fooo'}, function(val){
     return !_.isUndefined(val);
});

或者更友好地说:

_.omitBy({propA:undefined, propB:null, propC:'fooo'}, _.isUndefined);
楚举
2023-03-14

尝试:

_.pickBy(fooObject, v => v !== undefined)
 类似资料:
  • 为什么会这样?名称不应该是未定义的,因为没有给它赋值吗? 如果我尝试相同的,让我们说,它将分配它是未定义的。是一个特殊的关键字还是什么? 谢谢你。

  • 我想为数组中的每个项目运行一个函数。数组每次都不同,但为此我将只使用一个示例数组。它一直在说未定义的不是一个函数,我假设未定义的是未来的函数。解决这个问题的办法是什么?

  • 我正在远离mysql和mysqli,因为stackoverflow上的许多用户都在不断地谈论它的优点。 我做了一个数据库类,并测试了这个,这与数据库连接良好。我试图更新我准备好的语句,以匹配我在不熟悉的领域,但最终得到以下错误: 它反映了这一行:

  • 获取类型错误,但使用onClick={()=

  • 如果我这样做会发生什么: 它是从内存中删除对象,还是只清除引用? 更正式地说,考虑守则: 为什么仍然不是?它不应该被从记忆中删除吗?

  • 我仍然是PHP的新手(昨天刚开始),当我想删除我的数据时,它说: 注意:未定义的索引:第13行C:\wamp64\www\HelpingClass\delete.php中的书名 注意:未定义的索引:C中的数量:###############################################################################################