<分区>
有没有办法 trim 对象的所有属性?换句话说,我可以改变它吗:
{a: ' a', b: 'b ', c: ' c '}
对此:
{a: 'a', b: 'b', c: 'c'}
我似乎无法映射对象,那么如何将函数应用于所有属性并取回对象?
<分区>
有没有办法 trim 对象的所有属性?换句话说,我可以改变它吗:
{a: ' a', b: 'b ', c: ' c '}
对此:
{a: 'a', b: 'b', c: 'c'}
我似乎无法映射对象,那么如何将函数应用于所有属性并取回对象?
最佳答案
您可以使用 Object.keys()
method 迭代对象属性并更新其值:
Object.keys(obj).forEach(k => obj[k] = obj[k].trim());
演示:
var obj = {
a: ' a',
b: 'b ',
c: ' c '
};
Object.keys(obj).forEach(k => obj[k] = obj[k].trim());
console.log(obj);
编辑:
如果您的对象
值可以是其他数据类型
(不仅是字符串
),您可以添加检查以避免调用.trim()
在非 strings
上。
Object.keys(obj).map(k => obj[k] = typeof obj[k] == 'string' ? obj[k].trim() : obj[k]);
关于javascript : trim all properties of an object,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51616152/
相关文章:
javascript - 解析错误,意外标记 Javascript
reactjs - 在客户端 React 组件中导入 npm 模块
javascript - 这个 JS 函数参数语法(具有属性默认值的对象初始化器,类似于 rest/spread 参数)是否有名称和效果?
javascript - 不知道为什么在 AWS ec2 上的 api url 中添加额外的参数 'undefined' ?
javascript - 使用 jQuery .html() 时如何阻止 JavaScript 执行
javascript - div 内的元素不应干扰事件处理程序
javascript - Angular - 计算 2 个范围之和的服务