වස්තුවේ පන්තිය සොයා ගැනීම සඳහා 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
}
JTJ Crowder's වෙතින් සම්පූර්ණ ප්රතිකාරයක් බලන්න පහත ප්රකාශනය කින් පල ලෙස, බ්ලොග්.
වඩා හොඳ වන්නේ කුමන ක්රමයද යන්න පිළිබඳ අදහසක් ලබා ගැනීමට මෙම මිණුම් ලකුණ බලන්න : http://jsben.ch/#/QgYAV
Hara භාරත් වෙතින් ඇසූ ප්රශ්නය සඳහා 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']