js の配列要素の追加と削除はいつも混乱していましたが、今日ようやく詳細な情報を見つけました。まず、テスト用のコードを教えてください。^-^
var arr2 = new Array();
//alert(arr2.length);//0
arr2[0] = "aaa";
arr2[1] = "bbb";
//alert(arr2.length);//2
arr2.pop();
//alert(arr2.length);//1
arr2 = arr2.slice(0, arr2.length-1);
//alert(arr2.length);//0
arr2[0] = "aaa";
arr2[1] = "bbb";
arr2 [2] = "ccc";
arr2 = arr2.slice(0,1);
alert(arr2.length);//1
alert(arr2[0]);//aaa
alert(arr2[1]);//未定義
shift: 元の配列の最初の項目を削除し、削除された要素の値を返します。配列が空の場合は、unknown
var a = [1,2,3,4,5];var b = a.shift(); //a:[2,3,4,5] b:1
var a = [1,2,3,4,5];
var b = a.unshift(- 2,- 1); //a: [-2,-1,1,2,3,4,5] b: 7
注: IE6.0 ではテストの戻り値は常に未定義であり、 FF2.0 での戻り値 値は 7 であるため、このメソッドの戻り値は信頼できません。戻り値を使用する必要がある場合は、このメソッドの代わりに splice を使用できます。
var a = [1,2,3,4,5];
var b = a.pop(); //a:[1,2,3,4] b:5//返す必要がない場合は直接呼び出してください
var a = [1,2,3,4,5];
var b = a.push(6) ,7) ; //a:[1,2,3,4,5,6,7] b:7
var a = [1,2,3,4,5];
var b = a.concat(6) , 7); //a:[1,2,3,4,5] b:[1,2,3,4,5,6,7]
配列をクリアするときは、startIndex を渡すだけです。
すべての要素を削除したくない場合は、deleteCount パラメータを再度渡します。
splice には、最初に削除してから追加する機能もあります。つまり、最初にいくつかの要素を削除し、次に削除された位置にいくつかの要素を追加します。削除された要素と追加された要素の数は同じである必要はありません。この時に使用されます。
var a = [1,2,3,4,5];
var b = a.splice(2,2,7,8,9); //a:[1,2,7, 8,9,5] b:[3,4]
var b = a.splice(0,1) //shift
a.splice(0,0,-2,-1)と同じ; var b = a.length;//unshift
var b = a.splice(a.length-1,1)と同じ;//pop
a.splice(a.length,0, 6,7 ); var b = a.length; //push
と同じ
var a = [1,2,3,4,5];
var b = a.reverse(); //a: [5,4,3, 2] ,1] b:[5,4,3,2,1]
var a = [1,2,3,4,5];
var b = a.sort(); //a: [1,2,3,4,5] b:[1,2,3,4,5]
var a = [1,2,3,4,5];
var b = a.slice(2,5); //a:[1,2,3,4,5] b:[3,4,5]
var a = [1,2,3,4, 5 ];
var b = a.join("|") //a:[1,2,3,4,5] b:"1|2|3|4|5"
/**
* 文字列処理関数
*/
function StringBuffer() {
var arr = new Array;
this.append = function(str) {
arr[arr.length] = str;
};
return arr.join("");//追加された配列を文字列に ping します
};
}
/**
*配列を特定の記号で区切られた文字列に変換します
*/
function arrayToString(arr,separator) {
if(!separator) separator = "";//セパレータが null の場合、デフォルトは空です
Return arr.結合(区切り文字);
}
* 配列に含まれる文字列を検索します
*/
function arrayFindString(arr,string) {
var str = arr.join("");
return str.indexOf(string);
}