홈으로 | 무료회원가입 | 아이디/비번찾기
추천음악방송
운.영.자.1대1.상담
온라이브 음악방송
음악방송 앱 다운로드
보안∵서버∵쿠키
윈도우∵프레임
이미지∵배경
시간∵달력∵계산
상태바∵타이틀바
음악∵영상
폼∵전송∵테이블
키보드∵마우스
효과∵링크∵메뉴
Script∵php
기타
PHP 강좌
윈도우관련팁
웹관련팁
홈페이지제작팁
기본강좌
레지스트리
윈도우서버
리눅스서버
Android
배열 스크립트 모음
홈페이지홈페이지 16년 전
구현이 그다지 어려운 것들은 아니지만, 가끔 사용하다보면 귀찮아질때가 있는 배열관련 스크립트입니다. 대부분 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;
추천추천 : 242 추천 목록
번호 제목
3,025
 PHP 파일 존재 여부 파악하기(로컬 파일 존재 및 원격지 파일 존재)
3,024
 [CSS] 박스 세로 가운데 중앙 정렬 6가지
3,023
 CSS Layout 수평 & 수직 정렬
3,022
 여러 도메인들 간 쿠키 공유하기
3,021
 태그 사이에 있는 텍스트를 추출
3,020
 [JQuery] textbox focus on off일때 숫자 콤마 보여주기
3,019
 쿠키 생성,가져오기,삭제
3,018
 사용자 함수 모음
3,017
 마우스,키보드 제한 ( 오른쪽클릭,드래그,영역선택등..)
3,016
 [HTML5] <video> - DOM으로 제어하기
3,015
 HTML5 video 태그에서 영상 좌우반전
3,014
 PHP - 특정 태그 및 문자열 추출, 제거
3,013
 [PHP] define과 defined의 차이
3,012
 우클릭 완벽차단 스크립트
3,011
 iframe 높이 100% 맞추기
3,010
 curl 함수를 이용한 HTTP REFERER 변경
3,009
 윈도우10 시스템 파일 및 Dism 검사
3,008
 텍스트 줄바꿈, 글자자르기 CSS
3,007
 jQuery Mobile에서 유용한 코드 10가지.
3,006
 [PHP] dirname()함수와 $_SERVER 관련 상수들
3,005
 [PHP] 파일 크기, 사이즈 불러오는 함수, filesize()
3,004
 [jQuery] jQuery Quick API
3,003
 [ transition ] 링크 hover 색상 변화 속도 조절
3,002
 PHP 5.3.0 에서 사라진 함수들 대체
3,001
 어떤 파일들이 include 나 require 되었는지 확인하는 함수(get_included_files)
목록
환상의뽕짝카페
트로트티비
뽕짝아가씨
트롯맘
종합성인가요방
카바레 음악
트롯디스코팡팡
관광 메들리
트롯카페
가요감상실
추억의옛노래
스페셜가요광장
BillBoard Free
추천가요모음
경음악.전자올겐
스페셜음악여행
WOLRD POPs
K-POP\BillBoard
POP TOP BEST

최신인기가요특집
추천가요\인기
F뮤직 인기\발라드
F뮤직 애창\트로트
트로트성인가요
인기가요
프리미엄 POP
경음악\기타
프리미엄 최신가요
프리미엄 성인가요
뮤직트로트 부산광역시 부산진구 가야동 ㅣ 개인정보취급방침
Copyright (C) musictrot All rights reserved.