HTML5、CSS3、JavaScriptで作成するアプリケーションの教材で勉強していますが、作成した関数が正常に動いてくれない。
作成した関数は以下のとおりです。
ここから↓
var h = function(str) {
// (1) h関数の実処理を定義
if (str !== null) {
// (3) 引数strが空でない場合の処理
str = str.toString();
str = str.replace(/&/g, '&');
str = str.replace(/</g, '<');
str = str.replace(/>/g, '>');
} else {
// (4) 引数strが空である場合の処理
str = '';
}
return str;
};
var printf = function(format) {
// (2) printf関数の実処理を定義
for (var i = 1; i < arguments.length; i++) {
var pattern = new RegExp('¥¥{' + (i - 1) + '¥¥}', 'g');
format = format.replace(pattern, h(arguments[i]));
}
return format;
};
ここまで↑
webインスペクタのコンソールで、
printf('今、{0}は{1}歳です', 'アイウ', 4) と入力すると、
"今、アイウは4歳です" と返したいのです。
しかし、
"今、{0}は{1}歳です"と返ってきます。
何か問題かわからない状況です。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/02/16 13:15