我想使用lodash将对象(嵌套键)的所有值从数字转换为字符串,从null转换为空白。
请帮助。
从:
{
"item1": {
"key1": 123,
"key2": "str",
"key3": null,
"key4": [1, 1, 1],
"nestedkey": {
"nestkey1": {
"nestkey2": {
"key1": 12.34,
"key3": null
}
}
}
}
}
收件人:
{
"item1": {
"key1": "123",
"key2": "str",
"key3": "",
"key4": [1, 1, 1],
"nestedkey": {
"nestkey1": {
"nestkey2": {
"key1": "12.34",
"key3": ""
}
}
}
}
}
谢谢
答案 0 :(得分:0)
我发现了:
const mapValuesDeep = (obj, cb) => {
if (_.isArray(obj)) {
return obj.map(innerObj => mapValuesDeep(innerObj, cb));
} else if (_.isObject(obj)) {
return _.mapValues(obj, val => mapValuesDeep(val, cb));
} else if(_.isString(obj) || _.isBoolean(obj)) {
return obj;
} else {
return cb(obj);
}
};
const result = mapValuesDeep(obj, _.toString)
谢谢!