gpt4 book ai didi

javascript - JSON.stringify lodash 合并对象的结果时出现 IE11 错误

转载 作者:行者123 更新时间:2023-11-29 14:38:44 24 4
gpt4 key购买 nike

操作系统 Windows 8.1 |IE11 - v11.0.9 |lodash - v4.17.4

假设我使用 lodash merge 将一个对象合并到另一个对象中。要合并的对象有一个数字(整数或字符串)键。并将结果提供给 JSON.stringify。然后我应该看到两个对象合并到结果字符串中。

const a = {
'1': 1
};
const b = {
key: {
'2': 2
}
};
_.merge(a, b);
console.log(JSON.stringify(a)); //-> {"1":1,"key":{}}

期待:{"1":1,"键":{"2": 2}}

实际:{"1":1,"键":{}}

JsFiddle:https://jsfiddle.net/0a7euzas/10/

有趣的是,如果我向键对象的“2”属性添加一个带有字母字符或附加/前置字母字符的属性,则输出字符串是正确的。

最佳答案

Windows 8.1 上的 IE11 似乎在任何深度都有 JSON.stringify 错误,如果对象只有 UINT32_MAX - 1 下的数字键,它会将其序列化为空对象。

这是我见过的唯一一例。正如您所注意到的,穷人的解决方案是添加一个字母数字键,并在返回的反序列化过程中简单地忽略它。

Example from our codebase

关于javascript - JSON.stringify lodash 合并对象的结果时出现 IE11 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41747150/

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