Array 객체에는 배열의 특정 요소를 삭제할 수 있는 함수가 있습니다. 사용하기는 매우 쉽지만 보거나 만질 수 없기 때문에 항상 어색하게 느껴집니다. 함수의 특정 인덱스 값 요소를 사용하면 새로운 아이디어를 얻을 수 있기를 바랍니다.
코드 예시는 다음과 같습니다.
var array=[]; array[0]="脚本之家一"; array[1]="脚本之家二"; array[2]="脚本之家三"; array[3]="脚本之家四"; array[4]="脚本之家五"; function remove(array,index) { if(index<=(array.length-1)) { for(var i=index;i<array.length;i++) { array[i]=array[i+1]; } } else { throw new Error('超出最大索引!'); } array.length=array.length-1; return array; } document.write(remove(array,2));
위 코드에서는 제거() 함수가 선언되어 있습니다. 이 함수에는 두 개의 매개변수가 있습니다. 첫 번째 매개변수는 배열 객체이고, 두 번째 매개변수는 삭제할 배열 요소의 인덱스 값이므로 위 코드는 다음과 같습니다. 세 번째 요소를 삭제하고, 삭제된 요소의 배열을 출력할 수 있습니다. 구현 원리도 매우 간단합니다.
remove() 함수는 먼저 들어오는 인덱스 값이 대략 배열 array.length-1의 최대 인덱스 값인지 확인합니다. 이 값이 최대 인덱스 값 array.length-1보다 크면 오류가 발생합니다. 그렇지 않은 경우에는 for 루프를 사용하여 인덱스 값 i부터 시작하여 인덱스 값이 i인 배열 값을 i보다 한 항목 낮은 값으로 설정하는 식으로 진행됩니다. 질문이 있으면 메시지를 남길 수 있습니다.
ps:js는 배열의 지정된 요소를 삭제합니다
var a = new Array("a","b","cc","d3"); //删除a数组的cc元素 //jQuery.inArray()函数用于在数组中搜索指定的值,并返回其索引值。如果数组中不存在该值,则返回 -1。 该函数属于全局jQuery对象。 jquery 1.2中添加的该静态方法 var index = $.inArray("cc",a); if(index>=0){ //arrayObject.splice(index,howmany,item1,.....,itemX) //参数 描述 //index 必需。整数,规定添加/删除项目的位置,使用负数可从数组结尾处规定位置。 //howmany 必需。要删除的项目数量。如果设置为 0,则不会删除项目。 //item1, ..., itemX 可选。向数组添加的新项目。 a.splice(index,1); alert(a.toString()); }else{ alert("error"); return false; }