所以我遇到了一個問題,那就是我第一次真正使用地圖時遇到了問題,我希望有人能夠善加闡述。基本上我所擁有的是一個我試圖傳遞值的表,並且我設置了一個變量映射,以便使用data- *屬性通過onclick事件傳遞信息。不過,我還需要自動傳遞一些來自幾個if else語句的值。以下是我迄今爲止:正在檢索HTML地圖中的Javascript地圖值
地圖本身:
var skills = [
["MATH", math], //0
["BIOLOGY", bio], //1
["MECHANICS", mech], //2
["ELECTRONICS", elect], //3
["STEALTH", roll(4,40)], //4
["NEGOTIATION", roll(2,20)], //5
["HORSEMANSHIP", horse], //6
["MOTORCYCLE", cycle], //7
["MARINE_BIO", marBio], //8
["BOTANY", botany], //9
["COMPUTERS", comp], //10
etc...
var advSkills = [
["FORENSICS", foren], //0
["TOXICOLOGY", toxic], //1
["STRUCTURAL_ENGINEERING", strEng], //2
["ENCRYPTION", encrypt], //3
["OFF_HAND", roll(3,30)], //4
["BURST_CONTROL", roll(3,30)], //5
["FREIGHT_TRUCKS", freight], //6
["CONSTRUCTION_VEHICLES", conVeh], //7
["PHARMACOLOGY", pharma], //8
["MICRO_BIOLOGY", micBio], //9
["PROGRAMMING", program], //10
etc...
var skillMap = new Map(skills);
var advSkillMap = new Map(advSkills);
與目標區域傳遞這些數值看起來像這樣:
<tr>
<td><input type="text" id="skill1" value="" readonly /></td>
<td><input type="text" id="skillRate1" value="" readonly /></td>
<td><input type="text" id="skill2" value="" readonly /></td>
<td><input type="text" id="skillRate2" value="" readonly /></td>
<td><input type="text" id="skill3" value="" readonly /></td>
<td><input type="text" id="skillRate3" value="" readonly /></td>
<td><input type="text" id="skill4" value="" readonly /></td>
<td><input type="text" id="skillRate4" value="" readonly /></td>
</tr>
的,如果其他人設置作爲這樣的:
function background(){
var background = roll(1,100);
//DOCTOR
if (background <= 5){
getSkill(skillMap.get([36]));
getSkill(["BIOLOGY"]);
getSkill(["FIRST_AID"]);
getAdvSkill(["DOCTOR"]);
//botany && holis || bio && pharma
return "Doctor";
//CHEMIST
} else if (background >= 6 && background <= 8){
getSkill(skillMap.get([36]));
getSkill(["MATH"]);
getSkill(["CHEMISTRY"]);
//botany && holis || bio && toxic
return "Chemist";
和實際getSkill功能是在這裏:
var n = 1;
var an = 1;
function getSkill(skillMap(index)){
do {
document.getElementById("skill" + n).setAttribute("value", skillMap.get([0]));
document.getElementById("skillRate" + n).setAttribute("value", skillMap.get([1]);
n ++;
break;
} while (n < 17);
}
所以我的問題是,我似乎無法通過地圖項的索引,以獲取二級指標與這段代碼證明:
getSkill(skillMap.get([36]));
缺少什麼我在這裏?起初,我認爲這只是一個語法處理,所以我擺脫了括號,並只用圓括號飛行,但似乎沒有工作要麼
它也可能很重要,指出目標是傳遞的地圖的值與字符串是技能和變量是skillRate – NixondisNRVA