javascript - 将对象的所有字符串值转换为小写 Javascript
问题描述
我想获取一个包含字符串和数值的对象数组,并将所有字符串值转换为小写。我不提前知道我的数组对象将具有哪些具体值,所以我只想先检查数组中的对象是否包含字符串,然后将该字符串设为小写。当我运行以下命令时,出现错误。
let data = [{
userId: 1234567890,
errorId: 957,
userCategory: "Category",
userAge: 18,
userType: "Standard"
},
{
userId: 1234567890,
errorId: 583,
userCategory: "Second",
userAge: 28,
userType: "Superuser"
},
{
userId: 1234567890,
errorId: 823,
userCategory: "Third",
userAge: 38,
userType: "Admin"
}
]
let newData = data.map(x => x.toLowerCase());
console.log(newData) //data is not a function
解决方案
Array.map
这里不需要(其他一些答案表明这一点),因为您没有改变对象本身,只是改变它们的属性。
遍历数组,改变对象。
let data = [{
userId: 1234567890,
errorId: 957,
userCategory: "Category",
userAge: 18,
userType: "Standard"
}, {
userId: 1234567890,
errorId: 583,
userCategory: "Second",
userAge: 28,
userType: "Superuser"
}, {
userId: 1234567890,
errorId: 823,
userCategory: "Third",
userAge: 38,
userType: "Admin"
}];
for (let obj of data) { // for each loop, iterates over values
for (let key in obj) { // iterates over the keys
if (typeof obj[key] === 'string') {
obj[key] = obj[key].toLowerCase();
}
}
}
console.log(data);
推荐阅读
- javascript - SVG 到画布图像工作一半的时间
- php - 变量与参数数量不匹配
- mongodb - mongo group by 多次
- c++ - 运行程序的奇怪输出
- regex - @EnableFeignClients 包扫描 - 春季启动
- c# - 如何使用 CloudBlobDirectory 存储
- php - 使用 LARAVEL 和 PUSHER 通道创建 WEB 通知时,我在控制台中收到错误“未捕获的 ReferenceError:Pusher 未定义”
- c# - 如何根据另一个文本框内容调整/拉伸文本框的大小?
- docker - 如何从 docker hub 拉取 - pull access denied 存储库不存在或可能需要“docker login”
- javascript - 查找 DOM 中元素之间的距离