以下代码从3个输入框中获取值,将它们处理为字符串并将其存储在数组中。每次用户按下添加按钮时,都会向该数组添加一个新字符串。
如果数组不存在,则会在我的代码开头自动创建。
但是,每次用户输入" new"时,我都希望创建一个新数组。 "前缀"中的值输入框。
可以这样做吗?
function test(){
if(typeof uld === "undefined"){
window.uld = [];
}
pre = document.getElementById("prefix").value.toUpperCase();
ser = document.getElementById("serial").value;
suf = document.getElementById("suffix").value.toUpperCase();
nbrUld = uld.length + 1
if (nbrUld == 1 || nbrUld % 5 == 1){
uld.push(pre + "." + ser + suf);
uld2 = uld.join('');
} else if (nbrUld % 5 === 0){
uld.push("/" + ser + suf + ".T" + "5\n");
uld2 = uld.join('');
} else {
uld.push("/" + ser + suf);
uld2 = uld.join('');
}
ttl = ".T" + nbrUld % 5;
if (nbrUld % 5 === 0){
document.getElementById("scm").value = uld2;
} else {
document.getElementById("scm").value = uld2+ttl
}
}
答案 0 :(得分:0)
您可以将uld转换为对象以充当哈希。如果使用相同的前缀,则将替换该阵列。如果这不是应用程序所需要的,请使用push。
function test(){
if(typeof uld === "undefined"){
window.uld = {};
}
pre = document.getElementById("prefix").value.toUpperCase();
ser = document.getElementById("serial").value;
suf = document.getElementById("suffix").value.toUpperCase();
var newArr = [];
uld[pre] = newArr;
nbrUld = newArr.length + 1
if (nbrUld == 1 || nbrUld % 5 == 1){
newArr.push(pre + "." + ser + suf);
uld2 = newArr.join('');
} else if (nbrUld % 5 === 0){
newArr.push("/" + ser + suf + ".T" + "5\n");
uld2 = uld.join('');
} else {
newArr.push("/" + ser + suf);
uld2 = newArr.join('');
}
ttl = ".T" + nbrUld % 5;
if (nbrUld % 5 === 0){
document.getElementById("scm").value = uld2;
} else {
document.getElementById("scm").value = uld2+ttl
}
}