JS에는 값이 배열에 있는지 확인하는 데 직접 사용할 수 있는 함수가 없습니다. 예를 들어 PHP에는 in_array() 함수가 있습니다. 하지만 in_array()와 유사한 함수를 작성하여 함수에 값이 있는지 확인할 수 있습니다
/**
* JS는 배열에 값이 존재하는지 확인합니다.
* Qiongtai 블로그
*/
// 정의 판단 함수
var in_array = function(arr){
// 매개변수가 배열인지 확인
var isArr = arr && console.log(
typeof arr==='object' ? arr .constructor===배열 ? arr .length ? arr.length===1 ? arr[0]:arr.join(','):'빈 배열': arr.constructor: typeof arr
);
// 배열이 아닌 경우 예외가 발생합니다.
if(!isArr){
throw "arguments is not Array";
// 배열에 있는지 여부를 탐색합니다.
for(var i =0,k=arr.length;i
if(this==arr[i]){
return true;
}
}
// 배열에 없으면 false를 반환합니다.
return false
}
// 문자열에 프로토타입
String.prototype.in_array = in_array;
// Give 숫자 유형에 대한 프로토타입 추가
Number.prototype.in_array = in_array;
// 배열 선언 >var arr = Array('blue','red','110','120') ;
//String 테스트
var str = 'red'
var isInArray = str .in_array(arr);
alert(isInArray); // true
// 수치 테스트
var num = 119>var isInArray = num.in_array(arr); >alert(isInArray); // false
전달된 값이 배열이 아닌 경우 발생합니다. 예외 발생
/**
* JS는 배열에 값이 존재하는지 확인합니다.
* Qiongtai 블로그
*/
// 판단 함수 정의
var in_array = function(arr){
// 매개변수가 배열인지 판단
var isArr = arr && console.log(
typeof arr==='object' ? arr.constructor== =배열 ? arr.length ? arr.length===1 ? arr[0]:arr.join(' ,'):'빈 배열': arr.constructor: typeof arr
// 배열이 아닌 경우 예외가 발생합니다.
if(!isArr){
throw "arguments is not Array"
}
// 순회 여부
for(var i=0,k=arr.length;iif( this==arr[i]){
return true; >}
}
// 배열에 없으면 false를 반환합니다.
return false
}
// 문자열에 프로토타입을 추가합니다.
String.prototype.in_array = in_array;
// 숫자 유형에 프로토타입 추가
Number.prototype.in_array = in_array;
// 배열 선언
var arr = null;
// 문자열 테스트
var str = 'red';
var isInArray = str.in_array(arr)
예외: 인수 is not Array
JS는 배열에 중복된 값이 있는지 확인합니다.
var ary = new Array("111","22","33","111 ")
var s = ary.join(",") ",";
for(var i=0;iif(s.replace(ary [i] ",","" ).indexOf(ary[i] ",")>-1) {
alert("배열에 중복된 요소가 있습니다: " ary[i])
break
}
}
예제 5