我有一个数组,其中的值从db中获取,比如说,
var ndp_static_hw = new Array("AB34AB3472AB","AB2265445588");
我需要对这些价值进行殖民化(例如:AB:34:AB:34:72:AB)并将其分成单独的数组ndp_static_hw_colonized
。
我们将如何做到这一点?
答案 0 :(得分:0)
const colonized = array.map(str => str.split("").map((el, i) => i%2 && i != str.length - 1 ? (el + ":") : el).join(""));
答案 1 :(得分:0)
看起来你仍处于数组和字符串操作的开头。
在下面的代码中,我将浏览数组,并在每次迭代中按照您希望的方式修改字符串。
var myArray= new Array("AB34AB3472AB","AB2265445588");
var newArray = [];
myArray.forEach(function(item) {
colItem = '';
for (var i=0; i<item.length; i = i + 2)
colItem = colItem + item.charAt(i) + item.charAt(i + 1) + ':';
newArray.push(colItem);
})
答案 2 :(得分:0)
基于
我需要对这些值进行殖民化(例如:AB:34:AB:34:72:AB)并将其分成单独的数组,例如ndp_static_hw_colonized。
使用map
,match
和join
["AB34AB3472AB","AB2265445588"].map( c => c.match(/.{1,2}/g).join( ":" ) )
这会产生输出
[“AB:34:AB:34:72:AB”,“AB:22:65:44:55:88”]
<强>演示强>
var input = ["AB34AB3472AB","AB2265445588"];
var output = input.map( c => c.match(/.{1,2}/g).join( ":" ) );
console.log(output);
如果可能还有一些空值,例如
var ndp_static_hw = new Array("AB34AB3472AB","AB2265445588", "" );
然后在应用map
ndp_static_hw.filter( s => String(s).length > 0 )
.map( c => c.match(/.{1,2}/g).join( ":" ) )
答案 3 :(得分:0)
var ndp_static_hw = new Array("AB34AB3472AB","AB2265445588");
var result = ndp_static_hw.map(function(s){ return s.match(/\S{2}/g).join(":");});
console.log(result);
&#13;