2017-07-25 95 views
-1

所以這是我的代碼:當一個變量替換字符,我得到這個錯誤

exports.run = (client, message, args, Discord) => { 
    args = args.replace(/&/g, "").trim() || "+"; 

但我得到這個錯誤

args.replace is not a function 

誰能幫助?

+1

可能args不是一個字符串。 –

+0

檢查參數的類型,可能它不是字符串對象'console.log(typeof(args));' 另外,檢查'args'是否是字符串,然後它是空的? –

+0

@OmSao這也沒有工作:'''console.log(typeOf(args)); ^ ReferenceError:typeOf is not defined''' – Anidox

回答

1

參數最有可能不是一個字符串,而是一個數組。您可以使用for循環遍歷數組,並在那裏進行替換。

for (var i = 0; i < args.length; i++) { 
    args[i] = args[i].replace(/&/g, "").trim() || "+"; 
} 
+0

它與OP在嘗試什麼不同? –

+0

這不適合我。 – Anidox

+1

@OmSao args [i]是一個字符串,而args是一個數組,所以替換函數不會拋出錯誤。 –