gpt4 book ai didi

javascript - 递归 trim 对象中所有元素的更好方法?

转载 作者:行者123 更新时间:2023-12-04 10:15:09 26 4
gpt4 key购买 nike

如果我有一个对象,例如

const obj = {
field: {
subfield: {
innerObj: { a: ' asdasd asdas . ' },
innerArr: [' s ', ' ssad . '],
innerArrObj: [ { b: ' adsad ' } ],
}
}
}

我想出了这样的东西,
const trimFields = (data) =>
_.mapValues(data, (element, k) =>
_.isArray(element)
? element.map((value) =>
_.isObject(value) ? trimFields(value) : trimText(value)
)
: _.isObject(element)
? trimFields(element)
: trimText(element)
);

但我想知道是否有更好/更有效的方法来做到这一点?

JSFiddle

最佳答案

我会直接在函数中切换数组/对象/其他,简化递归调用:

 const trimFields = (data) =>
_.isArray(data)
? data.map(trimFields)
: _.isObject(data)
? _.mapValues(trimFields)
: trimText(data);

关于javascript - 递归 trim 对象中所有元素的更好方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61098396/

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