2016-11-16 1 views
-1

node.js v6을 사용하고 있습니다.이 16 진수 문자열을 자바 스크립트의 정수 배열로 변환하십시오.

이 16 진수 문자열이 있습니다.

let hex_string = "0102030402"; 

내가 정수 다음과 같습니다 array_hex_integer의 배열로 hex_string를 변환하고 싶습니다;

array_hex_integer의 첫 번째 요소는 '01'에서 hex_string (1,2 문자)에 대응
let array_hex_integer; 
array_hex_integer = [1, 2, 3, 4, 2]; 

, 두번째 엘리먼트는 '02'등의 hex_string 및 (3, 4 문자)에 대응한다.

+0

그걸로 행운을 빕니다 –

답변

2

스플릿 자바 스크립트 기능을 사용할 수 있습니다.

var hex_string = "0102030402"; 
array_hex_integer = hex_string.split('').map(function(item) { 
    return parseInt(item, 10); 
}); 
+0

시도해보십시오. 정답을 제시하지 않습니다. – user781486

3

여기에는 필요한 것을 수행 할 수있는 방법 중 하나가 있습니다.

var hex_string = "0102030402"; 
var tokens = hex_string.match(/\d\d/gi); 
var result = tokens.map(t => parseInt(t)); 
+0

Upvoted. 내 대답이 대답으로 선택되었지만, 나는 당신의 대답이 나의 오랜 대답보다 훨씬 낫다고 생각합니다. 훌륭한 :) – user781486

0

먼저 hex_string을 문자열 배열로 분할하십시오. 내 기능 split_str()을 참조하십시오. 그런 다음이 문자열 배열을 원하는 정수 배열로 변환하십시오.

function split_str(str, n) 
{ 
    var arr = new Array; 
    for (var i = 0; i < str.length; i += n) 
    { 
     arr.push(str.substr(i, n)); 
    } 
    return arr; 
} 

function convert_str_into_int_arr(array_str) 
{ 
    let int_arr = []; 
    for (let i =0; i < array_str.length; i++) 
    { 
     int_arr [i]=parseFloat(array_str[i]); 
    } 

    return int_arr; 
} 

let answer_str = split_str(hex_string,10); 
let answer_int = convert_str_into_int_arr(answer_str); 
관련 문제