gpt4 book ai didi

javascript - 洛达什合并。如何连接两个对象并忽略空值?

转载 作者:行者123 更新时间:2023-12-01 02:20:07 25 4
gpt4 key购买 nike

我的问题是我想混合我的初始应用程序状态和存储在其他地方的状态。如何使用 Lodash 连接 javascript 中的两个对象并忽略空值?这是我的代码:

const initialState = {
form: [
{
name: "car",
value: 45000
},
{
name: "cat",
value: 50
},
{
name: "shipping",
value: 5
}
],
option: "A",
money: 500000
};

const storedState = {
form: [
null,
null,
{
name: "shipping",
value: 12
}
],
option: "B"
};

const preloadedState = _.merge({}, initialState, storedState);
console.log(preloadedState);

从 console.log 中您可以看到该对象:

preloadedState = {
form: [
null,
null,
{
name: "shipping",
value: 12
}
],
option: "B",
money: 500000
};

我想始终忽略storedState中的空值并保留initialState中的值。我怎样才能做到这一点?我想要的效果应该是:

preloadedState = {
form: [
{
name: "car",
value: 45000
},
{
name: "cat",
value: 50
},
{
name: "shipping",
value: 12
}
],
option: "B",
money: 500000
};

请帮忙,亚瑟

最佳答案

一种方法是使用compact()

_.compact(preloadedState.form)

但它也会删除其他“假”值,例如 0、false 等。

其他选项是不使用

_.without(preloadedState.form, null)

在这两种情况下,合并结果。

如果您使用集合而不是数组,filterreject 也应该可以工作。

关于javascript - 洛达什合并。如何连接两个对象并忽略空值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49261169/

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