gpt4 book ai didi

javascript - 如何合并包含符号的javascript对象?

转载 作者:行者123 更新时间:2023-12-04 12:16:47 37 4
gpt4 key购买 nike

我正在尝试使用 lodash merge 合并两个对象,但它不适用于符号。有没有替代的实用程序?

    import {merge} from 'lodash';
import {Op} from 'sequelize';

const selectA = {
where: {
text: "something"
}
};

const selectB = {
where: {
date_from: {
[Op.lt]: Sequelize.literal('NOW()')
}
}
};

console.log(_.merge(selectA, selectB));

输出:
{ where: { text: 'something', date_from: {} } }

最佳答案

您可以使用_.mergeWith()并提供一个使用传播的合并功能。

备注 : 查看浏览器的控制台。片段的控制台不显示符号。

const Op = {
lt: Symbol('symbol')
}

const selectA = {
num: 15,
where: {
text: "something"
}
};

const selectB = {
num: 30,
where: {
date_from: {
[Op.lt]: 'symbol value'
}
}
};

const result = _.mergeWith(selectA, selectB, (a, b) => {
if (!_.isObject(b)) return b;

return Array.isArray(a) ? [...a, ...b] : { ...a, ...b }
});

console.log(result);
<script src="https://cdnjs.cloudflare.com/ajax/libs/lodash.js/4.17.15/lodash.js"></script>

关于javascript - 如何合并包含符号的javascript对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60598225/

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