$H()
배열을 Hash 로 바꾼다.
hash 는알고 있다시피
hash : U 해시[잘게 썬 고기] 요리; (구어) (뒤)범벅; 혼란; (아는 사실의) 재탕, 고쳐 만듦,
개작; (미국속어) 음식; (속어) 소문; [전기] 해시; [컴퓨터] 잡동사니.
이런 의미의 영어 단어이다.
ㅎㅎㅎ
컴퓨터에서는 자료구조의 일환으로 키와 값 쌍을 가지고 저장하는것을 의미한다.
순서적으로 저장하거나 일련의 규칙에 의한 주소에 자료를 저장하는 것이 아니고 키를 가지고 저장하는 방식을 의미한다. (음.. 이게 맞나.. ?? 아님 말고)
배열을 Hash 로 바꾼다에서 Hash 는 당근 ... portotype 객체의 Hash 구조체를 의미한다.
그래서 prototype 에서 다루는 Hash 에 대해서 알아보면 아래와 같은 메소드를 가진다.
* keys()
모든 항목의 key를 가진 Array을 반환
해시에서 key 배열을 추출하는것이다.
* values()
모든 항목의 value를 가진 Array을 반환
키와 마찬가지로..
그런데..
한가지 궁급한 점이 생긴다.
key() 로 뽑아낸 배열과 value()로 뽑나낸 배열의 인댁스가 동기화가 되어같은 긴자를쓰면 그 키의 그 값을 엑세스 할수 있는 것인지??
난 테스트 안해봤다.
누군가 테스트를 한다하여고 결과를 뎃글로 달지 않아도된다.
그렇게 액세스을 하고싶으면 배열이나 리스트에 저장하면된다.
해시에 저장할때는 해시에 맏는 방법으로 값을 추출할 필료가 있는것이다.
그럴 필요가 없다면 해시로 저장하지 않으면 그만이다.
* merge(otherHash)
뭐 말 그대로다 두개의 해시 객체를 합친다.
그런데 키가 중복 되면 어떻게 될까..
음..
아는 사람있으면 좀 알려주3 .. 그런 쥠장이 아주 아주 고마워 할것임
* toQueryString()
해시의 항목을 포멧된 문자로 반환...한다.
'key1=value1&key2=value2&key3=value3' 식으로
이건 get 파라메타를 저장해 놓으라는 이야기군 뭐 해시야 그런 용도로 많이 사용하긴 하지만..
이렇게 노골적으로 지원을 해주면......
넘 좋아좋아 ^^;;
* inspect()
음.. 이전 배열에서 대괄호를 붙여주는 놈이었는데.. 여기서는 어떤 직을 할지
뭐 포멧팅된 문자열 표현을 반환하기 위해 변경한다는데 영어를 번영해놓은 표가 팍팍 ...날뿐
정확하게 무슨 의미인지는
배열에서 사용된거와 비슷한 의미일거 같다는 정도...
