gpt4 book ai didi

javascript - 如何从可序列化的 JavaScript 对象递归地 trim 字符串值?

转载 作者:行者123 更新时间:2023-11-30 07:30:40 24 4
gpt4 key购买 nike

我有一个可序列化的 JavaScript 对象,例如

{
a: 'hello ',
b: [],
c: 5,
d: {
e: ' world ';
},
}

我想创建一个类似于原始对象的 JavaScript 对象,除了每个字符串值都删除了前导和尾随空格外:

{
a: 'hello',
b: [],
c: 5,
d: {
e: 'world';
},
}

我该怎么做?

最佳答案

JSON.stringify 有一个 replacer parameter我们可以使用

const replacer = (key, value) => {
if (typeof value === 'string') {
return value.trim();
}
return value;
};

const trimmedObj = JSON.parse(JSON.stringify(obj, replacer));

请注意,JSON 没有undefined 值,因此任何具有未定义值的键都将从生成的对象中删除。如果您希望保留这些值并且 null 适合您的目的,您可以使用 null 代替 undefined

const replacer = (key, value) => {
if (typeof value === 'string') {
return value.trim();
}
if (value === undefined) {
// JSON doesn't have undefined
return null;
}
return value;
};

关于javascript - 如何从可序列化的 JavaScript 对象递归地 trim 字符串值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55485556/

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