gpt4 book ai didi

javascript - 如何将对象中的所有属性值转换为字符串类型?

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

我正在处理一个包含属性的对象,该属性的值要么是字符串类型,要么是数字类型。一些属性是嵌套对象,这些嵌套对象还包含其值可以是字符串类型或数字类型的属性。以以下对象作为简化示例:

var myObj = {
myProp1: 'bed',
myProp2: 10,
myProp3: {
myNestedProp1: 'desk',
myNestedProp2: 20
}
};

我希望所有这些值都是字符串类型,因此任何类型为数字的值都需要转换。

实现此目标的最有效方法是什么?

我试过使用 for..in 也尝试过 Object.keys,但没有成功。任何见解将不胜感激。

最佳答案

Object.keys 应该没问题,你只需要在查找嵌套对象时使用递归即可。要将某些内容转换为字符串,您可以简单地使用这个技巧

var str = '' + val;

var myObj = {
myProp1: 'bed',
myProp2: 10,
myProp3: {
myNestedProp1: 'desk',
myNestedProp2: 20
}
};

function toString(o) {
Object.keys(o).forEach(k => {
if (typeof o[k] === 'object') {
return toString(o[k]);
}

o[k] = '' + o[k];
});

return o;
}

console.log(toString(myObj));

关于javascript - 如何将对象中的所有属性值转换为字符串类型?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46982698/

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