홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
배열 스크립트 모음
홈페이지홈페이지 17년 전
구현이 그다지 어려운 것들은 아니지만, 가끔 사용하다보면 귀찮아질때가 있는 배열관련 스크립트입니다. 대부분 php 함수의 명명규칙을 따랐으므로, 어떤 역할을 하는건지 구체적으로 알고 싶다면 PHP 함수에서 Array Functions 장을 참고하면 됩니다.

//
//      Array method library
//    by 행복한고니 (20041012)
//

// 배열에 검색한 값이 있으면 인덱스 번호를 리턴, 없으면 -1을 리턴
Array.prototype.search = function(val) {
       var len = this.length;
      
       for (var i=0; i < len; i++) {
              if (this[i] == val) return i;
       }
      
       return -1;
}

// search 메소드와 같으나 대소문자 구별안함
Array.prototype.isearch = function(val) {
       var len = this.length;

       if ((typeof val).toLowerCase() == 'string') val = val.toLowerCase();
       for (var i=0; i < len; i++) {
              if (typeof this[i] != typeof val) continue;
              if ((typeof val).toLowerCase() == 'string' && val == this[i].toLowerCase()) return i;
              else if (val == this[i]) return i;
       }
       return -1;
}

// 키 배열을 받아서 문자열 인덱스가 있는 객체를 반환한다.
// 만일 배열의 크기가 서로 맞지 않으면 빈 array가 반환된다.
// 리턴값은 object
Array.prototype.combine = function(keyArr) {
       if (this.length != keyArr.length) return [];
      
       var ret = {};
       for (var i=0; i < this.length; i++) ret[keyArr[i]] = this[i];
      
       return ret;
}

// 범위의 값을 포함하고 있는 배열 반환
Array.prototype.range = function(Low, High, Step) {
       var ret = [];
       var t1 = (typeof Low).toLowerCase();
       var t2 = (typeof High).toLowerCase();
      
       if (Step == undefined) Step = 1;
       if (!((t1 == 'number' || t1 == 'string') && t1 == t2)) return ret;
       if (t1 == 'string') { Low = Low.charCodeAt(0); High = High.charCodeAt(0); }

       for (var i=Low; i <= High; i+=Step) ret[ret.length] = (t1=='string')?String.fromCharCode(i):i;

       return ret;
}

// 배열의 각 요소에 같은 함수 적용
// 만약, funcName 이라는 함수가 있다고 하면, Array.walk(funcName)과 같이 사용한다.
// 함수의 첫번째 전달자에 값이, 두번째 전달자에 인덱스가 전달된다.
Array.prototype.walk = function(Func) {
       var len = this.length;
       for (var i=0; i<len; i++) {
              this[i] = Func(this[i], i);
       }
}

// 배열 정렬 순서를 거꾸로 한다.
// 사용자 함수를 지정하면 지정한 함수로 정렬한다.
Array.prototype.rsort = function(sortFunc) {
       if (sortFunc == undefined) this.sort();
       else this.sort(sortFunc);
       return this.reverse();
}

// 배열내에 존재하는 숫자를 모두 더한다.
Array.prototype.sum = function() {
       var ret = 0;
       for (var i=0; i<this.length; i++) {
              if((typeof this[i]).toLowerCase() == 'number') ret += this[i];
       }

       return ret;
}

// 현재 배열요소를 반환한다.
Array.prototype.current = function() {
       if (this._index > this.length) this._index = this.length;
       return this[this._index];
}

// 현재 배열요소의 이전요소로 포인터를 이동하고 이전요소를 반환한다.
Array.prototype.prev = function() {
       if (--this._index < 0) this._index++;
       return this[this._index];
}

// 현재 배열요소의 다음요소로 포인터를 이동하고 다음요소를 반환한다.
Array.prototype.next = function() {
       if (++this._index >= this.length) this._index--;
       return this[this._index];
}

// 배열의 처음 요소로 포인터를 이동하고 요소를 반환한다.
Array.prototype.first = function() {
       this._index = 0;
       return this[0];
}

// 배열의 마지막 요소로 포인터를 이동하고 요소를 반환한다.
Array.prototype.end = function() {
       this._index = this.length - 1;
       return this[this._index];
}

// 현재 키를 반환한다.
Array.prototype.key = function() {
       if (this._index < 0) this._index = 0;
       else if (this.length > 0 && this._index >= this.length) this._index = this.length - 1;
       return this._index;
}

Array.prototype._index = 0;
추천추천 : 277 추천 목록
번호 제목
3,033
 PHP 정규식 정리
3,032
 PHP 정규식을 활용한 태그 및 특정 문자열 제거 및 추출 방법
3,031
 php 크롤링 또는 파싱 함수, 정규식 모음
3,030
 제이쿼리 기본 명령어
3,029
 웹페이지 가로 모드세로 모드 인식하기
3,028
 모바일 웹 화면 강제 회전(가로모드 고정)
3,027
 [HTML5]에서 frameset 대체 방법과 iframe 속성
3,026
 HTML <Audio> 사용법
3,025
 윈도우10 시스템파일 손상 (초간단 오류 복구방법!!)
3,024
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,023
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,022
 CSS Layout 수평 & 수직 정렬
3,021
 여러 도메인들 간 쿠키 공유하기
3,020
 태그 사이에 있는 텍스트를 추출
3,019
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,018
 쿠키 생성,가져오기,삭제
3,017
 사용자 함수 모음
3,016
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,015
 [HTML5] <video> - DOM으로 제어하기
3,014
 HTML5 video 태그에서 영상 좌우반전
3,013
 PHP - 특정 태그 및 문자열 추출, 제거
3,012
 [PHP] define과 defined의 차이
3,011
 우클릭 완벽차단 스크립트
3,010
 iframe 높이 100% 맞추기
3,009
 curl 함수를 이용한 HTTP REFERER 변경
목록
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.