JavaScriptの配列に要素を追加することは非常に簡単な問題です。 JavaScript自体は、多数のそのような機能を提供します。 JS所有の関数を使用して、配列に要素をすばやく追加できます。この記事では、アレイの追加のためのJavaScriptの次の方法をまとめたものです。
ARR.CONCAT(ARR2)の方法は、一般的にARRAYを追加するために使用されました。例は次のとおりです。
コードコピーは次のとおりです。
<script type = "text/javascript">
var arr = new Array(3);
arr [0] = "テスト配列1は1"です。
arr [1] = "テスト配列1は2"です。
arr [2] = "テスト配列1は3"です。
var arr2 = new Array(3);
arr2 [0] = "テスト配列2は1"です。
arr2 [1] = "テスト配列2は2"です。
arr2 [2] = "テスト配列2は3"です。
document.write(arr.concat(arr2)+"<br/>");
document.write(arr.concat( "your uncle 2"、 "your uncle 3")+"<br/>")
</script>
多くの人々は、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、...
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()
{
return 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);
}
最後に、a.push.apply(a、b)をプレイするのが好きな友人のためのテストがあります。 Applidend Arrayの場合。
a.push.apply(a、b);この自己思考の方法はクールであり、ループを書く必要はなく、問題に遭遇していません。今日まで、私が追加したいBが大きな配列であるとき、私はピットに遭遇します。
コードコピーは次のとおりです。
a = new Array();
b = new Array(125624);
a.push.apply(a、b);
上記のコードは、Mac Chromeの下に次の例外をスローします
Uncaught raigherror:最大コールスタックサイズを超えました
配列をb = new Array(125623)に変更した場合。小さい要素があるといいでしょう。他のブラウザにはエラーを作成するための大きな配列もありますが、異なるブラウザの重要な値はまだ異なります。
ここで与えられる提案は、正直で実用的であることです。これは、大きなアレイの例外の問題を回避するだけでなく、Foreachのパフォーマンスを最速と見なすこともできます。