为了账号安全,请及时绑定邮箱和手机立即绑定

Javascript:如何使_.compact忽略0作为一个伪造的值?

Javascript:如何使_.compact忽略0作为一个伪造的值?

临摹微笑 2021-04-06 20:18:12
我目前正在提取在html表中输入的实时数据,并从每个列值中计算出某个值。为此,我需要使用_.chain()和_.pluck,并刮出像null和这样的值undefined,我这样使用_.compact():var vals = _.chain(values).pluck(operand).compact().value();但这也会删除值0。相反,我想保留这些0值。它适用于诸如之类的所有东西0.1,但不适用于0。For this array: 0: {A: 4}1: {T: 6}2: {A: 1}3: {T: 6}when operand='A', vals=4,1 ==> size of vals[] = 2但For this array: 0: {A: 4}1: {T: 6}2: {A: 0}3: {T: 6}when operand='A', vals=4 ==> size of vals[] = 1 //missing value 0有没有办法做到这一点?
查看完整描述

2 回答

?
慕勒3428872

TA贡献1848条经验 获得超6个赞

解决方案取决于operand提取物。如果返回0,则随后的调用将删除该值compact。您可以尝试以下方法:

_.chain(values).pluck(operand).filter(x => x != null).value()

x != null零件将删除任何null和/或undefined值,但其余部分保持不变。


查看完整回答
反对 回复 2021-04-22
?
梵蒂冈之花

TA贡献1900条经验 获得超5个赞

不是因为.pluck错,而是因为.compact

文件:

袖珍的

返回删除了所有虚假值的列表的副本。在JavaScript中,false,null,0,“”,undefinedNaN都是虚假的。

您可以使用.filter(v => !!v || v === 0)代替来避免这种情况.compact()


查看完整回答
反对 回复 2021-04-22
  • 2 回答
  • 0 关注
  • 176 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信