Javascript 将字符串分组为n个字符并应用替换

Javascript 将字符串分组为n个字符并应用替换,javascript,Javascript,此代码接受“AK345KJ”并尝试返回[“ak3”、“45k”、“J”],但浏览器在数组的所有项中都给出了未定义的值。不知道为什么。谢谢 x = "AK345KJ" x.match(/.{1,3}/g).map(function(item) {item.replace(""," "); console.log(item)}) 使用match(): var a = "AK345KJ" var b = a.match(/(.{1,3})/g); alert(b); 片段: var a=“AK3

此代码接受“AK345KJ”并尝试返回[“ak3”、“45k”、“J”],但浏览器在数组的所有项中都给出了未定义的值。不知道为什么。谢谢

x = "AK345KJ"
x.match(/.{1,3}/g).map(function(item) {item.replace(""," "); console.log(item)})
使用match()

var a = "AK345KJ"
var b = a.match(/(.{1,3})/g);
alert(b);
片段:

var a=“AK345KJ”;
var res=“”;
//按固定宽度3分割
var b=a.match(/(.{1,3})/g);
//警报(b);
//添加空格
对于(b中的ab){
res=res+(b[ab]。拆分(“”)。连接(“”))+,”;
}
//在发出警报时删除尾部“”
警报(res.substring(0,res.length-2))

var a = "AK345KJ"
var b = a.match(/(.{1,3})/g);
alert(b);
片段:

var a=“AK345KJ”;
var res=“”;
//按固定宽度3分割
var b=a.match(/(.{1,3})/g);
//警报(b);
//添加空格
对于(b中的ab){
res=res+(b[ab]。拆分(“”)。连接(“”))+,”;
}
//在发出警报时删除尾部“”

警报(res.substring(0,res.length-2))
您的
.map
应该返回,添加空格的方式略有不同

你可能想要这样的东西:

x.match(/.{1,3}/g).map(function(item) {return item.split('').join(' ');})
// ["A K 3", "4 5 K", "J"]

您的
.map
应该返回,添加空格的方式略有不同

你可能想要这样的东西:

x.match(/.{1,3}/g).map(function(item) {return item.split('').join(' ');})
// ["A K 3", "4 5 K", "J"]

这里没有未定义的@j08691:事实上,这里也一样:。要查看整个源代码有什么变化吗?可能问题出在其他地方?请注意,
replace
不会更改原始字符串。它返回一个新字符串。另外,如果您想使用
map
方法创建一个新数组,您应该在回调中返回一个值。@briosheje它就在那里。在浏览器控制台中运行。没有额外的代码。@FredJ。你能给我们提供一个截图或者原始的html+js布局吗?如果日志记录未定义,则问题在其他地方。此处没有未定义@j08691:实际上,此处相同:。要查看整个源代码有什么变化吗?可能问题出在其他地方?请注意,
replace
不会更改原始字符串。它返回一个新字符串。另外,如果您想使用
map
方法创建一个新数组,您应该在回调中返回一个值。@briosheje它就在那里。在浏览器控制台中运行。没有额外的代码。@FredJ。你能给我们提供一个截图或者原始的html+js布局吗?如果未定义日志记录,则问题在其他地方。