文字列パターンのすべてのキーをその値に置き換えるタスクがあります。入力は、そのようなものです:
オブジェクトキーを指定した文字列パターンの値に置き換えます。
[
'{ "name": "John", "age": 13 }',
"My name is #{name} and I am #{age}-years-old"
]
、出力はこれです:「私の名前はジョンと私は13歳です」。
だから私はこの思い付く:私は(currentKey)をCONSOLE.LOGとき、私は問題がある
function FillTemplate() {
if (arguments.length < 2 || arguments.length > 7) {
console.log('The input objects should be at least 1 and lesser than 7!');
}
for (let i = 0; i <= arguments.length - 2; i += 1) {
JSON.parse(arguments[i]);
for (let j = 0; j < Object.keys(arguments[i]).length; i += 1) {
let currentKey = Object.keys(arguments[i])[j];
console.log(currentKey);
}
}
}
私はゼロのみを得たが、私の考えは、それが次の取るjson.parse、入力内の最初のオブジェクトを取るですそのオブジェクト内のすべてのキーと1つのループを持つすべてのキーを1つのキーごとに別々に取り出し、それを正規表現パターンでパターン文字列に置き換えます。しかし、このObject.keysはゼロだけを返します。問題はどこだ?ここで
あなたはjsfiddleでそれをシミュレートすることができますか? –
あなたがやろうとしていることは本当に得意ではありません。 – Connum
出力がゼロでないことをよろしくお願いします。 '1'から '28'までの数字です。私の意図は、オブジェクトからすべてのキーを取得し、文字列パターンでtrynaをそれらの値に置き換えることです。 – user7460099