String.fromCharCode
で機能するためarguments
、正しい定義は最初に提供したものです。他のものを使用する必要がある場合は、次を使用する必要がありますapply
。
var arr = [2991,3006,2996,3009,2990,2994,2991,2985,3015],
converted = String.fromCharCode(String, a);
または、文字列を使用する必要がある場合は、それを配列に分割してからapply
上記の方法を実行してください。
var str = '2991,3006,2996,3009,2990,2994,2991,2985,3015',
arr = str.split(','),
converted = String.fromCharCode(String, a);
それらすべてをカバーする、小さくて非常に基本的な機能:
function convert() {
var arr = [],
arg = arguments[0];
if(typeof arg === 'number') { // assume all args are numbers, split them into the array
arr = Array.prototype.splice.call(arguments, 0);
} else if(typeof arg === 'string') { // string, let's split it into an array!
arr = arg.split(',');
} else if(typeof arg === 'object') { //typeof returns object, but it should be an array
arr = arguments[0];
}
return String.fromCharCode.apply(String, arr);
}
これをconvert('2991,3006,2996,3009,2990,2994,2991,2985,3015')
or convert([2991,3006,2996,3009,2990,2994,2991,2985,3015])
and のように使用すると、同じ結果が返されます。