我一直在編程一個系統,應該刪除數組的第一個索引。而不是將數組從(例如)「1,2,3,4,5」更改爲「2,3,4,5」,控制檯給出錯誤:「Uncaught TypeError:num.splice不是函數」。我聽說num.splice 不是的一個函數,它是一個操作(或某物)來刪除數組的第一個索引值。我很困惑,當我使用w3Schools的示例代碼時,控制檯中沒有輸出錯誤。我不明白爲什麼會發生這種情況。JavaScript Array.shift不工作
(我已經給整個代碼以防萬一它做語法問題)
function dCrypt() {
var num = document.getElementById("demoin").value; // ex: a127
var key = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
var mod = 0;
var out = 0;
var prep = 0;
var pre = 0;
num.split("");
mod = num[0];
pre = key.indexOf(mod);
num.splice(0,1);
for (i=0;i <= pre;i++) {
prep += 26;
}
out = Math.floor(num + pre);
document.getElementById("demoout").innerHTML = out;
}
提前感謝!
'num'不是數組。這是一個字符串。如果你想調用拼接,你首先必須將其轉換爲數組。你可以用'Array.from(num)'做到這一點。 – adrice727