gpt4 book ai didi

javascript - javascript 中是否有从 javascript 对象(不是数组)中删除 Falsy 值的好方法?

转载 作者:行者123 更新时间:2023-11-29 17:46:48 24 4
gpt4 key购买 nike

在 JavaScript 中,您可以使用很好的 .filter 方法从数组中删除 null 或 falsy 值。到目前为止,我还没有找到从 JavaScript 对象中删除相同内容的方法。

为什么会这样?

目前,您可以为数组创建一个函数,例如:

function stripNulls(arr) {
return arr.filter(Boolean);
}

是否可以为 JS 对象创建类似的函数,或者过滤器在 JS 对象上的工作方式不实用。

最佳答案

“我可以对一个对象执行 x”(或与此相关的数组)的答案通常是"is",并且它经常涉及某种形式的 reduce

如果你想过滤虚假值,你可以这样做:

function filterFalsy(obj) {
return Object.keys(obj).reduce((acc, key) => {
if (obj[key]) {
acc[key] = obj[key]
}

return acc
}, {})
}

const testObj = {
a: 'test',
b: 321,
c: false
}

console.log(filterFalsy(testObj))

这将返回一个没有虚假值的新对象,并保留现有对象。

关于javascript - javascript 中是否有从 javascript 对象(不是数组)中删除 Falsy 值的好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48655157/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com