javascript - 映射和替换不解密简单语句并返回未定义数组
问题描述
我正在尝试解码以下数组的 10 个产品的名称(解析的 json):
[
{
id: 9628920,
name: 'Lævæ & Se¢æ 10,2 Kg Sæmsung E¢ø ßußßle ßræn¢æ ¢øm 09 Prøgræmæs de Lævægem',
quantity: 57,
price: 3719.7,
category: 'Eletrodomésticos'
},
{
id: 1316334,
name: 'Refrigerædør ßøttøm Freezer Ele¢trølux de 02 Pørtæs Frøst Free ¢øm 598 Litrøs',
quantity: 12,
price: 3880.23,
category: 'Eletrodomésticos'
},
and so on ......
]
我无法将整个数组及其 10 个元素添加到问题中,这就是我写“等等……”的原因
我正在使用这段代码,但是当我使用它时,decryptedData 正在接收一个包含 10 个未定义值的数组console.log()
:
const decryptedData = parsedData.map(product=>{
product.name.replace('æ', 'a');
product.name.replace('ø', 'o');
product.name.replace('¢', 'c');
product.name.replace('ß', 'b');
});
console.log(decryptedData);
解决方案
您需要退回更新后的产品并为每次更换分配值。
对于替换方法,您需要使用正则表达式模式:
string.replace(/æ/g, 'a');
模式意味着:用 a 改变字符串中的每个æ
var parsedData = [
{
id: 9628920,
name: 'Lævæ & Se¢æ 10,2 Kg Sæmsung E¢ø ßußßle ßræn¢æ ¢øm 09 Prøgræmæs de Lævægem',
quantity: 57,
price: 3719.7,
category: 'Eletrodomésticos'
},
{
id: 1316334,
name: 'Refrigerædør ßøttøm Freezer Ele¢trølux de 02 Pørtæs Frøst Free ¢øm 598 Litrøs',
quantity: 12,
price: 3880.23,
category: 'Eletrodomésticos'
}
];
const decryptedData = parsedData.map(product=>{
product.name = product.name.replace(/æ/g, 'a')
.replace(/ø/g, 'o')
.replace(/¢/g, 'c')
.replace(/ß/g, 'b');
return product;
});
console.log(decryptedData);
推荐阅读
- mysql - 使用 nodejs 和 express 从查询参数更新 mysql 数据表
- laravel-5.8 - (此路由不支持 POST 方法。支持的方法:GET、HEAD。) laravel 解决方案?
- c# - UWP:在后面的代码中选择 ListView 的多个项目
- c# - 将视频文件作为“FileContentResult”流式传输:无法转发/后退视频内容
- sas - 使用 SAS SGPLOT 在单个图中叠加个人的时间序列和平均值
- matlab - 将一个矩阵除以另一个大小相等的矩阵以获得标量值
- c# - 点击事件改变按钮颜色
- python - 如何获取用户对象以便获取他们的用户名?
- c - 设计时的 C 宏参数测试
- mysql - 如何使用 sql 将文本格式的日期传递给 DATE 格式