提问者:小点点

javascript:修剪对象的所有属性[重复]


有没有一种方法可以修剪一个对象的所有属性?换句话说,我能改变一下吗:

{a: ' a', b: 'b ', c: ' c '}

对此:

{a: 'a', b: 'b', c: 'c'}

似乎我不能映射一个对象,那么我怎样才能将一个函数应用到所有的属性上,然后把对象找回来呢?


共3个答案

匿名用户

可以使用object.keys()方法迭代对象属性并更新其值:

Object.keys(obj).map(k => obj[k] = obj[k].trim());

演示:

null

var obj = {
  a: ' a',
  b: 'b ',
  c: ' c '
};

Object.keys(obj).map(k => obj[k] = obj[k].trim());
console.log(obj);

匿名用户

您可以使用object.keys来减少和修剪值,如下所示:

null

function trimObjValues(obj) {
  return Object.keys(obj).reduce((acc, curr) => {
    acc[curr] = obj[curr].trim()
    return acc;
  }, {});
}


const ex = {a: ' a', b: ' b', c: ' c'};
console.log(trimObjValues(ex));

匿名用户

你可以通过循环来完成。

for(var key in myObject) {
    myObject[key] = myObject[key].trim();
}