2016-05-23 14 views

Antwort

1

können Sie verwenden, um die match Funktion und eine kleine regex, das zu tun:

var even_str = "aabbrdfc0912", 
 
    odd_str = "aabbrdfc0912X"; 
 

 
console.log(splitInPairs(even_str)); 
 
console.log(splitInPairs(odd_str)); 
 

 
function splitInPairs(str) { 
 
    return str.match(/..?/g); 
 
}

6

Sie einen regulären Ausdruck dafür verwenden könnte.

var str = "aabbrdfc0912", 
 
    array = str.match(/..|./g); 
 
console.log(array);

1

String.match(rg) würden Sie dies tun:

console.log("aabbrdfc0912".match(/\w\w/g))

0

For-loop mit Zuwachs von 2 hilfreich sein könnte.

var str = "aabbrdfc09123";; 
 
var op = []; 
 
for (var i = 0; i < str.length; i += 2) { 
 
    op.push(str[i] + (str[i + 1] || '')); 
 
} 
 
console.log(op);

1
var arr = str.match(/.{1,2}/g); 

werden Sie

["aa","bb","rd","fc","09","12"]; 
0

führen geben andere Lösung mit String.split, Array.slice und Array.forEach Funktionen:

var str = "aabbrdfc0912", result = []; 

str.split('').forEach(function(v, k, arr){ 
    if (k % 2 !== 0) this.push(arr.slice(k-1, k+1).join('')); 
}, result); 

console.log(result); // ["aa", "bb", "rd", "fc", "09", "12"] 

Und noch ein Ansatz mit String.split und Array.filter Methoden:

result = str.split(/(\w{2})/).filter(Boolean); 

console.log(result); // ["aa", "bb", "rd", "fc", "09", "12"] 
2

eine der möglichen regex /[\w]{2}/g

könnte

var str = "aabbrdfc0912", splited_arr; 
 

 
splitted_arr = str.match(/[\w]{2}/g); 
 
console.log(splitted_arr);

0

gut, kann dies sei es ne wie dies auch statt regex,

var str = "aabbrdfc0912"; 
 
var result = []; 
 
var piece = 2; 
 

 
while (str.length) { 
 
    result.push(str.slice(0, piece)); 
 
    str = str.substr(piece); 
 
} 
 

 
console.log(result); 
 
// result = ["aa","bb","rd","fc","09","12"];