카테고리 없음
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> ';
}
}
}
}