Javascript 映射并替换不解密简单语句并返回未定义的数组
我正在尝试解码以下数组(已解析的json)的10个产品的名称: 我不能用它的10个元素来添加整个数组这个问题,这就是为什么我写“等等…” 我正在使用这段代码,但decryptedData在我Javascript 映射并替换不解密简单语句并返回未定义的数组,javascript,arrays,ecmascript-6,cryptography,Javascript,Arrays,Ecmascript 6,Cryptography,我正在尝试解码以下数组(已解析的json)的10个产品的名称: 我不能用它的10个元素来添加整个数组这个问题,这就是为什么我写“等等…” 我正在使用这段代码,但decryptedData在我console.log()it: const decryptedData = parsedData.map(product=>{ product.name.replace('æ', 'a'); product.name.replace('ø', 'o'); product.n
console.log()
it:
const decryptedData = parsedData.map(product=>{
product.name.replace('æ', 'a');
product.name.replace('ø', 'o');
product.name.replace('¢', 'c');
product.name.replace('ß', 'b');
});
console.log(decryptedData);
函数
map
的处理程序不返回任何内容,在这种情况下,您应该返回对象product
,但是,函数map
的使用不正常,请改用函数forEach
此外,您应该使用带有标志global/g
的正则表达式来替换所有匹配项,并最终将结果存储在product.name
中
parsedData.forEach(product=>{
product.name = product.name.replace(/æ/g, 'a');
product.name = product.name.replace(/ø/g, 'o');
product.name = product.name.replace(/¢/g, 'c');
product.name = product.name.replace(/ß/g, 'b');
});
您需要返回更新的产品,并为每次替换指定值 对于需要使用正则表达式模式的方法:
string.replace(/æ/g, 'a');
模式的意思是:用aa
var parsedData=[
{
识别号码:9628920,
名称:'Lævæ&Seæ10,2千克Sæmsung Eæußußßleßrænæm 09 PrægræmæS de Lævægem',
数量:57,
价格:3719.7,
类别:'Eletrodomésticos'
},
{
id:1316334,
名称:“制冷剂冷冻机Ele、trølux de 02 Pørtæs Frøst Free、øm 598 Litrøs”,
数量:12,
价格:3880.23,
类别:'Eletrodomésticos'
}
];
const decryptedData=parsedData.map(product=>{
product.name=product.name.replace(/æ/g,'a')
.替换(/ø/g,“o”)
.更换(/、/g,'c')
.替换(/ß/g,'b');
退货产品;
});
console.log(解密数据)代码>您没有返回任何内容!如果您选择console.log parsedData,它是否会输出数组?如果仅出现一次,则该字符串不会被替换为字符串updated@ent3r_伙计,这是返回语句的arrow函数的缩写!当您使用{}时,它将成为您函数的主体!阅读你发送的链接上的文档,这不起作用。您需要一个g
标志regex来替换所有发生的事件,您也可以将replace()链接起来并删除大量冗余项code@charlietfl是的,当然,但这不是我回答的目标。它起作用了,谢谢!,但是这个/æ/g是什么,它意味着什么?@RobertVitoriano你知道函数map
的使用正在创建一个新的数组,它正在改变原始数组吗?为什么不直接在原始阵列上循环?
string.replace(/æ/g, 'a');