这个javascript代码需要传递调用函数convert
并使用其返回的值来替换每个匹配。但它没有将cid
值发送到convert
函数。知道怎么样?感谢
const convert = function (cid) {
console.log('got: ' + cid); // got NAN
const converted = Math.round(Number(cid) * 16.3871);
console.log(converted);
return converted
};
return myStr.replace(/(\d{3})/g, convert('$1'));
}
答案 0 :(得分:1)
不要将convert
函数作为第二个replace
参数调用。它将自动调用并自行传递$1
匹配作为第一个convert
参数。
第二个return
不正确(不起作用)。
const convert = function (cid) {
console.log('got: ' + cid); // got NAN
const converted = Math.round(Number(cid) * 16.3871);
console.log(converted);
return converted;
};
var someString = 'abc134def';
console.log(someString.replace(/(\d{3})/g, convert));