私は値を持つ2つのjavascriptの変数を持っています**Name**
と**Age**
を 'John'と '14'の値に置き換えると、Name
とAge
の変数がmessage
文字列に追加されますか?Javascriptの特殊文字以内の文字列の一部を置き換える
これを実行するために使用できるJavaScript関数はありますか?
私は値を持つ2つのjavascriptの変数を持っています**Name**
と**Age**
を 'John'と '14'の値に置き換えると、Name
とAge
の変数がmessage
文字列に追加されますか?Javascriptの特殊文字以内の文字列の一部を置き換える
これを実行するために使用できるJavaScript関数はありますか?
String#replace
メソッドを使用し、window
オブジェクトから変数を取得します(グローバルコンテキストで変数が定義されている場合にのみ使用します。他の方法では使用したくない方法を使用する必要があります)。
var Name = 'John';
var Age = '14';
var message = 'I am **Name** and my age is **Age**';
var newmessage = message.replace(/\*\*([\w\d]+)\*\*/g, function(m, m1) {
return window[m1];
});
console.log(newmessage)
それとも、でもそれはグローバルコンテキストで定義されていない簡単に値を取得することができるように値を格納する代わりに、変数のオブジェクトを使用します。
var obj = {
Name: 'John',
Age: '14'
};
var message = 'I am **Name** and my age is **Age**';
var newmessage = message.replace(/\*\*([\w\d]+)\*\*/g, function(m, m1) {
return obj[m1];
});
console.log(newmessage)
シンプルstring.replace()機能このソリューションについてどのように
var Name = 'John';
var Age = '14';
var message = 'I am **Name** and my age is **Age**';
message = message.replace('**Name**' ,Name).replace('**Age**' , Age);
console.log(message)
はpranavの答えよりも簡単です – Mahi
ここで使用されている変数のように変数の数が固定されていれば簡単に答えを選択しました(私の記事ではあまり言及していないのですが残念です) –
私がNameから 'e'を削除した場合、あなたは+1してくれます。 –
で試してみてください。 FIRSTこれらのサブストリングが実際に文字列メッセージの一部であるかどうかを確認してください。それが役に立てば幸い!なぜウィンドウオブジェクト
var Name = 'John';
var Age = '14';
var message = "I am **Name** and my age is **Age**";
console.log(myFunction(message));
function myFunction(str){
var finalMessage = "";
if(str.indexOf("**Name**") !== -1){
finalMessage = str.replace('**Name**' ,Name);
}
if(finalMessage.indexOf("**Age**") !== -1){
finalMessage = finalMessage.replace("**Age**" ,Age);
}
return finalMessage;
}
。 '_'は何ですか? – Mahi
@Mahi: 'window'オブジェクトからグローバル変数にアクセスすることができます –
@Mahi:' _'は引数です....キャプチャされた値が必要なので、避けることができます。 –