JSアレイ要素の追加と削除は混乱しています。今日、私はついに詳細な説明を見つけました。最初にテストするコードを教えてくれます^ - ^
コードコピーは次のとおりです。
var arr = new array();
arr [0] = "aaa";
arr [1] = "bbb";
arr [2] = "ccc";
//alert(arr.length);//3
arr.pop();
//alert(arr.length);//2
//alert(arr.length-1]);//bbb
arr.pop();
//alert(arr.length-1] );//aaa
//alert(arr.length);//1
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);
アラート(arr2.length); // 1
alert(arr2 [0]); // aaa
alert(arr2 [1]); //未定義
シフト:元の配列の最初のアイテムを削除し、削除された要素の値を返します。配列が空の場合は、未定義の返品を返します
var a = [1,2,3,4,5];
var b = a.shift(); // A:[2,3,4,5] B:1
Unshift:元の配列の先頭にパラメーターを追加し、配列の長さを返します
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を使用できます。
POP:元の配列の最後のアイテムを削除し、削除された要素の値を返します。配列が空の場合は、未定義の返品を返します
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
concat:元の配列にパラメーターを追加することで構成される新しい配列を返します。
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]
Splice(Start、deletecount、val1、val2、...):開始位置からdeletecountアイテム、val1、val2、...
配列をクリアするときは、startindexを渡すだけです。
すべての要素が削除されていない場合は、deleteCountパラメーターを渡します。
スプライスには、最初に削除してから、最初にいくつかの要素を削除し、削除された位置にいくつかの要素を追加する機能もあります。削除された要素と追加された要素の数は等しくてはなりません。現時点では、deleteCountも使用されています。
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); //同じシフト
A.Splice(0,0、-2、-1); var b = a.length; //同じUnshift
var b = a.splice(a.length-1,1); //同じポップ
A.Splice(A.Length、0,6,7); var b = a.length; //同じプッシュ
逆:配列が逆
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]
スライス(START、END):指定されたStart subscriptから元の配列の最終サブスクリプトまでのアイテムで構成される新しい配列を返します。
var a = [1,2,3,4,5];
var b = a.slice(2,5); // A:[1,2,3,4,5] B:[3,4,5]
Join(Separator):Arrayの要素を文字列にグループ化し、セパレーターをセパレーターとしてグループ化します。省略した場合は、デフォルトでコンマをセパレーターとして使用します。
var a = [1,2,3,4,5];
var b = a.join( "|"); // A:[1,2,3,4,5] B: "1 | 2 | 3 | 4 | 5"
Arrayを使用してJavastringBufferをシミュレートして文字列を処理する別の方法を次に示します。
/**
*文字列処理機能
*/
関数stringbuffer(){
var arr = new Array;
this.append = function(str){
arr [arr.length] = str;
};
this.toString = function(){
arr.join( ""); //文字列に追加する配列をpingします
};
}
今日、私は突然、Joinがアプリケーションの文字列に配列を変換する良い方法であることを発見したので、それらをオブジェクトにカプセル化して使用しました。
/**
*アレイを特定のシンボルによって分割される文字列に変換します
*/
関数ArrayToString(arr、Separator){
if(!separtator)separator = ""; //セパレーターがnullの場合、デフォルトで空になります
return arr.join(セパレーター);
}
/**
*配列に含まれる文字列を見つけます
*/
関数arrayfindstring(arr、string){
var str = arr.join( "");
return str.indexof(string);
}