$A()

배열함수이다.
음.. XML 상 배열을 끄집어 내서 배열 변수에 저장해주는 함수다.
아주 간단 할것 같지만 복잡하다.. (잉.. 간단하다고 ..ㅡ.,ㅡ 내머리가 나빠서 그런가보당)
select 객체는 option 배열을 하위 객체로 가진다. (XML 에서) 그래서 접근할적에

document.Form.Selectoptions[document.Form.Select.selectedIndex].value

이런식으로 해야 선택된 값을 가져올 수 있다.
option 배열로 저장되어있으므로 이렇게 접근을 해야하는것이다.
그런객체를

var someNodeList = $('lstEmployees').getElementsByTagName('option');
var nodes = $A(someNodeList);

이렇게 정의해놓고 nodes[1] 옵션이라는 객체 배열에 접근할 수 있게된다.

nodes.each(function(node){
alert(node.nodeName + ': ' + node.innerHTML);
});

이런식으로 사용하는데 무척 간결해 보이나 무척 어려워 보인다.
보통

for (i=1;i < nodes.length;i++) {
  alert(nodes[i].nodeName + ':' + nodes[i].innerHTML );
}

이런식의 코드가 자바 스크립트에서 많이 쓰이는것 같은데 배열에 each 라는 낫선 함수를 사용했다.
이 부분은  루비 온 레일즈  라는 언어(?) 의 문법이라고 한다.
난 루비 온 레일즈를 알지도 못하고 쓸 계획도 전혀없다.. 꼭  필요한것이 아니라면 (허접이라그렇다. ^^)

nodes.each(function(node){ 는 역시 어려워보인다. 사람은 자신이 모르는것에 두려움을 느낀다고 했던가 ?? -- 루비 온 레일드 너무 무서워 ㅠ.ㅠ

프로토 타입의 배열은 자바스크립트의 배열과는 다르다.
이건 아주 좋다.

Enumerable 을 확장한것이라서 Enumerable 에서 사용할 수 있는 모든 속성과 메소드를 사용할 수 있으며 아래의 메소드를 추가로 사용할 수 있다.

* clear()
배열을 clear 하고 껍데기만 돌려준다.

* compact()
배열에서 유효한 값만 추출하여 새로운 배열을 만들어 리턴한다. 즐 알뱅이만 빼간다.
쭉정이에 해당하는넘들은 null 과 undefined 인넘들을 말하는것 같다.


* first()
배열에서 첫번재 넘을 꺼내온다.
반장을 호출하는것이다.

* flatten()
평평[반반]하게 하다. 라는 뜻의 영어 단어다 뭐하는 함수인 지는 모른다.
뭐 읽어 봤지만 몰르겠다.
중요하지 않다고 말할 수 없다 내가 모를뿐이다.
무엇인지 궁금하다면 밖에 링크에있는 설명문을 읽어보라..
아래에 이게 뭐하는함수인지 댓글을 달아 주면 내가 아주 조마워 할지도 몰른다.
만약 이즌 여자라면 뽀뽀도 해줄 용의가 잇다.

* indexOf(value)
배열에서도 이함수를 쓸수 있다니 이거 코드 값 넣놓고 읽어오는데 사용하면 좋을것 같다.
배열에서 필요한 값을 찾는 함수이다.
보통 for 루프를 돌리고 그 않에 if 문을 써서 구현하는데 메소드로 한방에 구현하면 편하겠군

* inspect()
배열 로 보이기 위해서 "[" 와 "]"을 각각 처음과 끝에 첨부한다.
이것이 단순한 문자열을 첨부하는것인지 아니면 배열 객체로 인식 시켜주는지는 몰르겠다.
다만 설명서에서는 pluck 과 짝으로 씌였다.

var texts = localLinks.pluck('innerHTML');
var result = texts.inspect();
alert(result);

이런식으로 사용했고 결과는 "['aaa','bbb','ccc','ddd']" 이런식으로 나왓는데 inspect 에서 는 "[" 와 "]" 만 붙여 주었다.

* last()
first 함수와 반대되는 의미로 마지막 값을 가져온다.

* reverse([applyToSelf])
배열의 요소를 귀집어서 돌려준다.
applyToSelf 를 true 로 주거나 주지 않으면 배열의 값을 변경한다.
값을 false 로 준다면  새로운 배열을 만들어 배열이 뒤집힌 값을 넣어 주어 리턴한다.
즉 자기 자신이 변경 되어 지지 않는다는 말이다.

* shift()
배열에서 첫번째 값을 반환하고 지운다( 배열의 값이 하나 줄어든다)
음.. 이건 shift 의 본래의미와 다르다 사이즈 변경없이 좌에서 우로 혹은 우에서 좌로 데이타를 한칸씩 이동하는건데..
이건 스택에서 pop() 을 구현해 놓은것 같다.
배열 길이가 줄어 들지만 않는다면 shift 로 볼 수 도 있겠지만 이건 shift 는 아닌것 같다.
그렇지만 만든사람 마음이니깐 그냥 shift 로 써야 겠다..
꼬와도 만들능력이 없으므로 걍 쓸련다.

* without(value1,[value2, [value3....valueN]..]])
배열에서 복수개의 값을 지운다.
sql 에서 delete .. where aa in ()
뭐 이런식에 해당하는걸까.. ?
하여간 value 에 해당한는 값들을 배열에서 지운다는 것이 다 여러개를 동시에..

음 많다. 메소드가...
배열의 강력한 기능이 마음에 든다.
음 하하하하하하....




트랙백 보낼 주소 :: http://ekxkaks.pe.kr/blog/trackback/12

댓글을 달아주세요:: 네티켓은 기본, 스팸은 사절

◀ PREV : [1] : ... [35] : [36] : [37] : [38] : [39] : [40] : [41] : [42] : [43] : ... [50] : NEXT ▶

BLOG main image
다타만이가 운영하는 허접시런 블로그입니다. 뭔가 기대하고 오셨을 수도 있지만 별로 내용은 없습니다. 나름대로 혼자 노는.... by 다타만

공지사항

카테고리

All Content (50)
주저리..주저리.. (16)
산으로.들로.. (3)
지나온 흔적.. (4)
사진들.. (0)
우리집이야기 (1)
삽/질/중/ (17)
컴퓨터쪼가리 (2)
취미.여가 (6)
Total : 15607
Today : 11 Yesterday : 6