替换数组中db的值

时间:2018-04-02 09:52:35

标签: javascript

我有一个数组,其中的值从db中获取,比如说,

var ndp_static_hw = new Array("AB34AB3472AB","AB2265445588");

我需要对这些价值进行殖民化(例如:AB:34:AB:34:72:AB)并将其分成单独的数组ndp_static_hw_colonized

我们将如何做到这一点?

4 个答案:

答案 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。

使用mapmatchjoin

["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)

&#13;
&#13;
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;
&#13;
&#13;