ホームページ >ウェブフロントエンド >jsチュートリアル >JavaScript_javascript スキルに基づいて配列内の指定された要素の削除 (削除) を実装する
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() 関数が宣言されています。この関数には 2 つのパラメーターがあり、最初のパラメーターは配列オブジェクトで、2 番目のパラメーターは削除する配列要素のインデックス値です。配列の 3 番目の要素を削除し、削除された要素の配列を出力できます。実装原理も非常に簡単です。
を簡単に紹介します。remove() 関数は、まず、受信したインデックス値が配列の最大インデックス値 array.length-1 に近いかどうかを判断します。それより大きい場合は、エラーがスローされます。そうでない場合は、for ループが使用されます。インデックス値 i から開始してトラバースし、インデックス値 i を持つ配列値を下位の i+1 項目に設定するなど、原理はほぼ同じです。ご不明な点がございましたら、メッセージを残してください。
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; }