无法使用Javascript或JQuery修剪对象属性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了无法使用Javascript或JQuery修剪对象属性相关的知识,希望对你有一定的参考价值。

我无法找到一种方法来修剪(摆脱每个字符串的开头和结尾处的空格)我的代码中对象数组的属性。遵循其他线程的建议在这里没有用。我有一个名为'res'的对象数组。以下属性位于“res.d”中。我如何修剪此对象,然后JSON.parse如此:

res.d = JSON.parse(res.d) 

谢谢

[{"id":"LODGE FARM WEST TO LOWER LODGE FARM, LOWER LODGE","name":"10444"}, 
{"id":"Lodge Lower Barn                                            
","name":"124069"},{"id":"Longmanu0027s Barn Fm                                           
","name":"124820"},{"id":"Lordu0027s Hill Fm                 
","name":"125103"},{"id                             
":"Lordu0027s Wood Fm                                              
","name":"125126"},{"id":"Lovellu0027s Court Fm                                           
","name":"125345"},{"id":"Loveu0027s Copse         ","name":"125362"}, 
{"id"                                       
:"Lower Woods Lodge               "}]
答案

你可以这样做:

const items = [
  { id: "       LODGE FARM WEST TO LOWER LODGE FARM, LOWER LODGE", name: "10444" },
  { id: "Hello world             ", name: "5555" }
];

const res = items.map(item => {
  return {
    id: item.id.trim(),
    name: item.name.trim()
  };
});
另一答案
let newObj = res.d.map((value) => {
      return{ 
        id: value.id.trim(),
        name: value.name.trim()
      }
    })

console.log(newObj)

这应该修剪对象中的值,'newObj'将具有新值

另一答案

我只是迭代数组res.d中的所有对象并修剪每个属性。

for (var i = 0; i < res.d.length; i++) {
    res.d[i].id = res.d[i].id.trim();
    res.d[i].name = res.d[i].name.trim();
}
另一答案

您也可以在代码中使用lodash后使用它。如果res.d是一个对象数组

_.map(res.d, val => _.mapValues(val, _.trim()));

否则,如果res.d是一个对象

_.mapValues(res.d, _.trim);

参考:https://lodash.com/docs/#trim

以上是关于无法使用Javascript或JQuery修剪对象属性的主要内容,如果未能解决你的问题,请参考以下文章

复杂的 JSON obj 和 jQuery 或 Javascript 映射到特定的键、值

如何使用 JavaScript 或 jQuery 更改数组内对象的值?

使用 jQuery 插件自动格式化结构化数据(电话、日期)(或无法使用原生 JavaScript)

如何使用 JavaScript 或 jQuery 更改数组内的对象的值?

使用对象 jquery 或 javascript 内连接两个数组

如何使用jquery或javascript对对象数组进行排序[重复]