이런 배열이 있을 때,
var arr = [1, 2, 3, 4,5,6,7, 1, 3, 5, 6, 2, 7, 1,4, 4, 100, 20, 4]
[1, 1, 1][3, 3]
[4, 4, 4, 4]
.....
이런식으로 중복되는 배열요소를 추출해서 각각 따로 배열로 만들어야 할 필요가 있었다.
한참 헤매다 우왕님께 물어서 우왕아항님이 던져주신 힌트.
function getMap(arr) {
var resultMap = {};
for (var i in arr) {
if (!(arr[i] in resultMap))
resultMap[arr[i]] = [];
resultMap[arr[i]].push(arr[i]);
}
return resultMap;
}
이러면 되는걸 너무 이상하게 생각했나보다
'코드 > JS' 카테고리의 다른 글
함수의 프로토타입 속성 (0) | 2015.04.21 |
---|---|
컨텍스트, 스코프 체인 (0) | 2015.04.21 |
Javascript 끝 문자열 제거 (0) | 2015.04.08 |
jQuery each, map (0) | 2014.05.30 |
팝업창에 데이터 전달하기. (0) | 2014.03.20 |