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

问题描述 投票:2回答:4

我无法找到一种方法来修剪(摆脱每个字符串的开头和结尾处的空格)我的代码中对象数组的属性。遵循其他线程的建议在这里没有用。我有一个名为'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":"Longman\u0027s Barn Fm                                           
","name":"124820"},{"id":"Lord\u0027s Hill Fm                 
","name":"125103"},{"id                             
":"Lord\u0027s Wood Fm                                              
","name":"125126"},{"id":"Lovell\u0027s Court Fm                                           
","name":"125345"},{"id":"Love\u0027s Copse         ","name":"125362"}, 
{"id"                                       
:"Lower Woods Lodge               "}]
javascript jquery object trim
4个回答
0
投票

你可以这样做:

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()
  };
});

0
投票
let newObj = res.d.map((value) => {
      return{ 
        id: value.id.trim(),
        name: value.name.trim()
      }
    })

console.log(newObj)

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


0
投票

我只是迭代数组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();
}

0
投票

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

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

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

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

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

© www.soinside.com 2019 - 2024. All rights reserved.