假如要去除数组中每个对象的值中的空格,并生成一个新的数组,可以使用 map 方法来遍历数组中的每个对象,并对每个对象的值进行处理
const arr = [
{ name: " John Doe ", age: " 30 ", city: " New York " },
{ name: " Jane Smith ", age: " 25 ", city: " Los Angeles " }
];
const newArr = arr.map(obj => {
const newObj = {};
for (const key in obj) {
if (obj.hasOwnProperty(key)) {
newObj[key] = typeof obj[key] === 'string' ? obj[key].replace(/\s+/g, '') : obj[key];
}
}
return newObj;
});
console.log(newArr);
// 输出:
// [
// { name: "JohnDoe", age: "30", city: "NewYork" },
// { name: "JaneSmith", age: "25", city: "LosAngeles" }
// ]
1,arr.map(obj => { … }):
使用 map 方法遍历数组中的每个对象。
2, newObj = {}
创建一个新的对象 newObj,用于存储处理后的值。
3,for (const key in obj):
使用 for…in 循环遍历对象的每个属性。
4,if (obj.hasOwnProperty(key)):
检查属性是否属于对象本身,而不是从原型链继承的。
5,newObj[key] = typeof obj[key] === ‘string’ ? obj[key].replace(/\s+/g, ‘’) : obj[key]
如果属性值是字符串,使用 replace(/\s+/g, ‘’) 去除所有空格。
如果属性值不是字符串,保持原样。