js에서는 in_array 함수가 없기 때문에 php처럼 배열에서 in_array를 사용하여 값이나 문자열을 직접 판단할 수는 없지만, js에 대한 in_array 함수를 사용자 정의할 수는 있습니다.
예제 1
var in_array = function(arr ){
// 매개변수가 배열인지 판단
var isArr = arr && console.log(
typeof arr==='object' ? arr.constructor===Array ? 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
}
}
// 배열에 없으면 false를 반환합니다.
}
// 문자열에 프로토타입을 추가합니다.
String.prototype.in_array = in_array;//다음에 프로토타입을 추가합니다. 숫자 유형
Number.prototype.in_array = in_array;
//배열 선언
var arr = Array('blue', 'red','110','120');
// 문자열 테스트
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.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 ;
//String test
var str = 'red';
var isInArray = str.in_array(arr)
alert(isInArray); // 포착되지 않은 예외: 인수는 배열
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;
요약
세 가지 예제는 모두 in_array 함수의 기능을 구현하며 주어진 요소가 배열에 있는지 여부를 모두 확인할 수 있습니다. 개인적으로 선호하는 방법은 더 포괄적인 마지막 방법입니다. .