JavaScript에서 정수 배열을 문자열 배열로 변환


85

다음과 같은 배열이 있습니다.

var sphValues = [1, 2, 3, 4, 5];

그런 다음 위의 배열을 아래와 같이 변환해야합니다.

var sphValues = ['1', '2', '3', '4', '5'];

어떻게 변환 할 수 있습니까? 자동 완성을 위해 이것을 사용했습니다.


26
sphValues.map(String)
elclanrs 2014 년

6
@elclanrs 당신은 대답하지으로 댓글이 게시한다
씨 외국인

7
[1,2,3,4,5].toString().split(",")
Mr_Green

1
당신이 링크 코멘트를 작성하려면 힘든 시간을 보내고대로 @SonalPM 당신은 당신이 5 해주기 4 번, 게시 귀하의 코멘트 삭제 사촌, 가격 인하를 참조해야합니다
씨 외국인

답변:


196

map 을 사용 하고 각 숫자를 문자열로 변환하는 함수로 String 생성자를 전달할 수 있습니다 .

sphValues.map(String) //=> ['1','2','3','4','5']

이것은 sphValues를 변경하지 않습니다. 새 배열을 반환합니다.


6
이것은 답변으로 acepted되지 않은 이유를 이해 해달라고
MarsOne

3
Array.map를 지원하지 않는 오래된 브라우저를 들어, underscore.js 사용할 수 있습니다 _.map (sphValues, 문자열)
조나스 Anseeuw

불행히도 이것은 또한 부울을 문자열로 변환합니다.
Dev

10

배열 방법을 사용하여

var sphValues = [1,2,3,4,5];   // [1,2,3,4,5] 
sphValues.join().split(',')    // ["1", "2", "3", "4", "5"]

9

사용 Array.map:

var arr = [1,2,3,4,5];
var strArr = arr.map(function(e){return e.toString()});
console.log(strArr); //["1", "2", "3", "4", "5"] 

편집 : 주석에 언급 된 @elclanrs
로 사용 arr.map(String);하는 것이 더 좋습니다.


6
for(var i = 0; i < sphValues.length; i += 1){
    sphValues[i] = '' + sphValues[i];
}

6

사용 .map()이이 코드에 더 가독성을 추가 할 코드를 아래처럼 할 수뿐만 아니라, 더 나은 움직임이다 이러한 맥락에서,

sphValues.map(convertAsString);

function convertAsString(val) {
  return val.toString();
}

3
 var value;
 for (var i = 0; i < data3.sph.length; i++) {
     value = data3.sph[i];
     //sphValues[i] = data3.sph[i];
     var obj = {
         label: value
     };
     sphValues.push(obj);
 }

이 방법을 자동 완성에 사용할 수 있습니다. 나는 당신의 문제가 해결 될 것이라고 생각하지만 당신이 원하는대로 변환되지 않을 것입니다.

["label": "val1", "label": "val2"]

2

''를 추가하여 문자열 유형으로 변환 할 수 있습니다.

var sphValues = [1,2,3,4,5];
for(var itr = 0; itr<sphValues.length;itr++){
  sphValues[itr] = '' + sphValues[itr];
}

1

ES6 솔루션

const nums = [1, 2, 3, 4, 5];
const strs = Array.from(nums.join(``));
console.log(strs);

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.