我試圖模擬JS中的C#string.Format()
。string.Format在JS
爲此,我有一個名爲string
的對象和一個名爲Format()
的函數在可變參數函數中傳遞一個字符串,其中包含佔位符及其值。
一個例子應該是:
string.Format("{0} - {1}", "Hello", "World");
必須還給我Hello - World
。
雖然,它給我只是「{undefined} - {undefined}」。我使用全局修飾符來獲取所有,但它不起作用。
var string = {
Format: function() {
var text = arguments[0];
for (i = 1; i < arguments.length; i++) {
var result = text.replace(/([0-9]+)/g, arguments["$1"]);
}
console.log(result);
}
}
哪裏是我的錯誤?
a。第一個索引是0,而不是1。你應該替換整個'{..}'的東西,而不僅僅是數字。 C。你永遠不會修改'text',你從不用'result'做任何事情,你永遠不會返回任何東西。 d。我甚至無法想象你認爲''$ 1「]的含義。 – Blindy