2016-06-01 2 views
0

im을 사용하여 문자열 배열의 숫자 배열을 lodash를 사용하여 변환하고 문자열 배열의 숫자 배열을 변환하려고 시도하지만 숫자 만 변환합니다. 이는 배열에 null 값이 있기 때문입니다. 나는 javascript에서 map보다 lodash의 맵을 사용하려고 시도했지만 null 값을 엉망으로 만든다. 어레이map 배열

예 : [1,245, 5,845, 4,585, 널, 널]

번호 :

var meds = _.map(lines,'med_id').map(String); 

결과 : "1245", "5845", "4585", "NULL ", "없는"];

해야 할 것 : [ "1245", "5845", "4585", null, null];

답변

3

당신은보고에서 String

var meds = _.map(lines, 'med_id').map(function(x) { 
    return typeof x == 'number' ? String(x) : x; 
}); 
2

String은 필요한 모든 것을 문자열로 변환하기 때문입니다. 값이 null이 아닌 경우에만 문자열을 생성하는 사용자 정의 함수를 작성해야합니다.

_.map(lines, 'med_id').map(function(x) { 
    if (x !== null) { 
    x = x.toString(); 
    } 
    return x; 
}); 
-1

를 호출하기 전에 값의 유형을 테스트해야합니다

function toInts(n){ 
    if(isNaN(n)){ 
     return null; 
    }else{ 
     return n; 
    } 
} 
_.map(lines,'med_id').map(lines,toInts); 

트릭을 할 것입니다 : https://lodash.com/docs#map

그것은처럼 보인다 . (테스트하지 않음)