Object 클래스를 찾기 위해 ECMAScript 표준에 제공된 toString
방법은 의 방법 을 사용하는 것입니다 Object.prototype
.
if( Object.prototype.toString.call( someVar ) === '[object Array]' ) {
alert( 'Array!' );
}
또는 typeof
문자열인지 테스트하는 데 사용할 수 있습니다 .
if( typeof someVar === 'string' ) {
someVar = [ someVar ];
}
또는 성능이 걱정되지 않으면 concat
빈 배열을 새로 만들 수 있습니다 .
someVar = [].concat( someVar );
직접 쿼리 할 수있는 생성자가 있습니다.
if (somevar.constructor.name == "Array") {
// do something
}
아래의 의견에 게시 된 @TJ Crowder의 블로그 에서 철저한 치료 를 확인하십시오 .
어떤 벤치 마크 가 더 나은지 알아 보려면 이 벤치 마크 를 확인하십시오 : http://jsben.ch/#/QgYAV
에서 @Bharath의 질문과 대답 (FAQ) ES6를 사용하여 배열로 변환 문자열 :
const convertStringToArray = (object) => {
return (typeof object === 'string') ? Array(object) : object
}
가정 :
let m = 'bla'
let n = ['bla','Meow']
let y = convertStringToArray(m)
let z = convertStringToArray(n)
console.log('check y: '+JSON.stringify(y)) . // check y: ['bla']
console.log('check y: '+JSON.stringify(z)) . // check y: ['bla','Meow']