js配列操作削除

1531 ワード

var arr=['a','b','c'];「b」を削除するには、次の2つの方法があります.
1.deleteメソッド:delete arr[1]
この方式では配列長が変わらずarr[1]がundefinedになったが、元の配列のインデックスも変わらないという利点もあり、この場合は配列要素を遍歴することで
for(index in arr)
{
 document.write('arr['+index+']='+arr[index]);
}

このループ方式ではundefinedの要素をスキップします
*この方式IE 4.oこれからも応援します
2.jsにおけるspliceメソッド
splice(index,len,[item])コメント:このメソッドは元の配列を変更し、切り取った配列を返します.
spliceには3つのパラメータがあり、配列内の1つまたは複数の値を置換/削除/追加することもできます.
index:配列開始下付きlen:置換/削除の長さitem:置換の値、削除操作でitemが空
 :arr = ['a','b','c','d']
   ----  item   
arr.splice(1,1)   //['a','c','d']                1,   1    ,len   1,   0,     
arr.splice(1,2)  //['a','d']                 1,   2    ,len   2
   ---- item     
arr.splice(1,1,'ttt')        //['a','ttt','c','d']                1,   1     ‘ttt’,len   1
arr.splice(1,2,'ttt')        //['a','ttt','d']                1,   2     ‘ttt’,len   1
 
   ----  len   0,item     
arr.splice(1,0,'ttt')        //['a','ttt','b','c','d']               1     ‘ttt’

3.回転文字列
a = ['1','2','3','4','5'];
alert("elements: "+a.join(",")+"nLength: "+a.length);//             ,      
alert("elements: "+a.toString()+"nLength: "+a.length);