메서드: 1. for 문을 사용하여 배열을 탐색하고 지정된 값과 배열 요소를 비교합니다. 2. 요소가 배열에 존재하면 indexOf 메서드를 사용하여 아래 첨자 값을 반환합니다. . 존재하지 않으면 "-1"을 반환합니다. 3. 요소가 존재하면 inArray() 메서드를 사용하여 아래 첨자 값을 반환하고, 존재하지 않으면 "-1"을 반환합니다.
이 튜토리얼의 운영 환경: windows7 시스템, javascript1.8.5&&jquery1.10.2 버전, Dell G3 컴퓨터.
js에 배열이 있습니다. 이 배열에 요소가 있는지 확인하는 방법은 무엇입니까? 먼저 루프를 통해 확인합니다.
var arr = ['a','s','d','f']; console.info(isInArray(arr,'a'));//循环的方式 /** * 使用循环的方式判断一个元素是否存在于一个数组中 * @param {Object} arr 数组 * @param {Object} value 元素值 */ function isInArray(arr,value){ for(var i = 0; i < arr.length; i++){ if(value === arr[i]){ return true; } } return false; }
이 방법은 보다 일반적인 방법이지만 함수를 직접 작성해 보세요. 두 번째 방법을 살펴보겠습니다.
var arr = ['a','s','d','f']; console.info(arr.indexOf('a'));//在IE某些版本中不支持,可以自行扩展
이 방법은 배열의 indexOf 메서드를 직접 사용하여 해당 요소가 배열에 존재하는지 확인하는 것입니다. 존재하지 않으면 - 1을 반환합니다. indexOf는 대소문자를 구분합니다. 문자 O는 대문자로 시작해야 합니다. 그렇지 않으면 오류가 보고됩니다. 또한 이 방법은 일부 버전에서 작동하지 않습니다. IE이므로 사용하기 전에 판단하고 수정해야 합니다.
/** * 使用indexOf判断元素是否存在于数组中 * @param {Object} arr 数组 * @param {Object} value 元素值 */ function isInArray3(arr,value){ if(arr.indexOf&&typeof(arr.indexOf)=='function'){ var index = arr.indexOf(value); if(index >= 0){ return true; } } return false; }
세 번째 방법은 jquery의 inArray 메서드를 사용하는 것입니다. 배열에 없으면 -1을 반환합니다.
/** * 使用jquery的inArray方法判断元素是否存在于数组中 * @param {Object} arr 数组 * @param {Object} value 元素值 */ function isInArray2(arr,value){ var index = $.inArray(value,arr); if(index >= 0){ return true; } return false; }
이 메서드를 사용하면 배열에서 첨자 값을 알 수 없는 요소를 삭제할 수 있습니다.
var arr = ['a','s','d','f']; console.info("删除元素之前的数组:"+arr); arr.splice($.inArray('a',arr),1); console.info("删除元素之后的数组:"+arr);
실행 결과. is:
[Web浏览器] "删除元素之前的数组:a,s,d,f" /test/index.html (12) [Web浏览器] "删除元素之后的数组:s,d,f" /test/index.html (14)
[관련 권장 사항: javascript 학습 튜토리얼]
위 내용은 자바스크립트에서 값이 배열에 있는지 확인하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!