有没有办法修剪对象的所有属性?换句话说,我可以改变这一点:
{a: ' a', b: 'b ', c: ' c '}
To this:
{a: 'a', b: 'b', c: 'c'}
看来我无法映射对象,那么如何将函数应用于所有属性并取回对象?
您可以使用Object.keys() method https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Object/keys迭代对象属性并更新其值:
Object.keys(obj).forEach(k => obj[k] = obj[k].trim());
Demo:
var obj = {
a: ' a',
b: 'b ',
c: ' c '
};
Object.keys(obj).forEach(k => obj[k] = obj[k].trim());
console.log(obj);
Edit:
If your object
值可以是其他数据types
(不仅strings
),可以添加一个检查以避免调用.trim()
on non strings
.
Object.keys(obj).forEach(k => obj[k] = typeof obj[k] == 'string' ? obj[k].trim() : obj[k]);
var obj = {
a: ' a',
b: 'b ',
c: ' c ',
d: 500
};
Object.keys(obj).forEach(k => obj[k] = typeof obj[k] == 'string' ? obj[k].trim() : obj[k]);
console.log(obj);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)