-
javaScript Map카테고리 없음 2020. 9. 4. 00:59
◆ Map 선언
const mapPopDataRide = new Map();
const mapPopDataRide = new Map(); const mapPopDataQuit = new Map(); for (var i = 0; i < popDataSelect.length; i++) { let tempArrayRide = []; let tempArrayQuit = []; for (var j = 0; j < popData.length; j++) { if(popDataSelect[i] == popData[j].selectName){ tempArrayRide.push((popData[j].ride)); tempArrayQuit.push((popData[j].quit)); } } mapPopDataRide.set((popDataSelect[i]).replace(/\"/gi, "").toString(), tempArrayRide); mapPopDataQuit.set((popDataSelect[i]).replace(/\"/gi, "").toString(), tempArrayQuit); }
※ key 값이 검색이 안될 때가 있는데 이렇때는 "" 을 제거 하고 넣어서 검색하면 된다.
※ 값을 투입 할 때에는 set , 값을 가져 올때는 get("key")
◆ 중복값 제거 - 순서 유지 (순서 변경 없이 )
// 중복 값 제거 var popDataMonth = []; var popDataSelect = []; for (var i = 0; i < popData.length; i++) { popDataMonth.push(popData[i].month); } for (var i = 0; i < popData.length; i++) { popDataSelect.push(popData[i].selectName); } popDataMonth = popDataMonth.reduce(function(a,b){if(a.indexOf(b)<0)a.push(b);return a;},[]); popDataSelect = popDataSelect.reduce(function(a,b){if(a.indexOf(b)<0)a.push(b);return a;},[]);
◆ Map 가져다 쓰기
// 승차 증감율 tableTags += ' <tr>'; for (const [key, value] of mapPopDataRide) { for (let k = 0; k < mapPopDataRide.get(key).length; k++) { console.log("사이즈 : "+mapPopDataRide.get(key).length); console.log("키값을 넣었을때 값 : "+mapPopDataRide.get(key)); if (k===0) { tableTags += '<td></td>'; console.log(mapPopDataRide.get(key)[k]); console.log(key); } else if((popDataSelect[i]).replace(/\"/gi, "") == key.replace(/\"/gi, "")){ let tableValue = Math.ceil((((mapPopDataRide.get(key)[k] - mapPopDataRide.get(key)[k-1]) / mapPopDataRide.get(key)[k-1]) * 100)); if (tableValue > 0) { tableTags += ' <td>'+tableValue+'% <div style="color:blue; display:inline">▲</div></td> '; }else { tableTags += ' <td>'+tableValue+'% <div style="color:red; display:inline">▼</div></td> '; } } } }