Ich möchte Variablen in einer Zeichenfolge wie console.log
wird ersetzt. Was ich erreichen möchte ist so etwas wie diese:Ersetzen Sie Variablen in Zeichenfolgen wie console.log
let str = 'My %s is %s.';
replaceStr(string, /* args */) {
// I need help with defining this function
};
let newStr = replaceStr(str, 'name', 'Jackie');
console.log(newStr);
// output => My name is Jackie.
/*
This is similar to how console.log does:
// console.log('I\'m %s.', 'Jack');
// => I'm Jack.
*/
ich nicht in der Lage bin, um herauszufinden, wie das zu tun. Jede Hilfe wird sehr geschätzt.
Vielen Dank.
function replaceStr(string, ...placeholders) {
while (placeholders.length > 0) {
string = string.replace('%s', placeholders.shift());
}
return string;
}
EDIT:
Gibt es einen Grund, warum Sie nicht verwenden [ 'template literals'] (https://developer.mozilla.org/en/docs/Web/JavaScript/Reference/Template_literals)? –
@ChristopherMoore Was ich erreichen möchte, ist nicht, was Template-Literale bieten. –