ホームページ  >  記事  >  ウェブフロントエンド  >  javascript_javascript スキルの配列追加メソッドの概要

javascript_javascript スキルの配列追加メソッドの概要

WBOY
WBOYオリジナル
2016-05-16 16:44:201253ブラウズ

JavaScript での配列への要素の追加は非常に単純な問題です。JavaScript 自体には、そのような関数が多数用意されています。この記事では、JavaScript で配列に要素を追加する方法について説明します。 . 以下にまとめ。

以前は、配列を追加するためにメソッド arr.concat(arr2) がよく使用されていました。例は次のとおりです。

Copy code コードは次のとおりです:



多くの人が、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[arr. length-1]);//bbb
arr.pop();
//alert(arr[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);
alert(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 //返す必要がない場合は直接呼び出してください
push: にパラメータを追加します元の配列の末尾を返し、配列の長さを返します。
var a = [1,2,3,4,5]; //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); //shift と同じ
a.splice(0,0,-2,-1); //unshift と同じ
var b = a.splice( a.length-1,1); //pop
a.splice(a.length,0,6,7) と同じ; /push
reverse と同じ: 配列の順序を反転します
var a = [1,2,3,4,5]
var b = a.reverse(); //a:[5, 4,3,2,1] b:[5 ,4,3,2,1]
sort(orderfunction): 指定されたパラメータに従って配列を並べ替えます
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): 元の配列から指定された開始を返します。 添え字と終了添え字の間の項目で構成される新しい配列
var a = [1,2,3,4,5]; a.slice(2,5); //a :[1,2,3,4,5] b:[3,4,5]
join(separator): 配列の要素を文字列に結合します省略した場合は、区切り文字としてカンマが使用されます。
var a = [1,2,3,4,5];
var b = a.join("|" ); //a: [1,2,3,4 ,5] b: "1|2|3|4|5"
配列を使用して文字列を処理する javaStringBuffer をシミュレートする別の方法を教えてください:
/**
* 文字列処理関数
*/
function StringBuffer()
{
var arr = new Array;
this.append = function(str)
{
arr[arr. length] = str;
};
this.toString = function()
{
return arr.join(""); // 追加された配列を文字列に ping します。
}
今日のアプリケーションで突然、join が配列を文字列に変換する良い方法であることがわかりました。それで、それをオブジェクトにカプセル化し、次のように使用しました:
/**
* 配列を特定の記号で区切られた文字列に変換します
*/
function arrayToString(arr,separator)
{
if(!separator) separator = "";//セパレータが null の場合、デフォルトは空になります
return arr.join(separator); >}
/**
* 配列に含まれる文字列を検索します
*/
function arrayFindString (arr,string)
{
var str = arr.join("")
return str.indexOf(string) );
}



最後に、push.apply を配列に追加するときにいくつかの問題が発生します。 , b);
a.push.apply(a, b); これは私がクールだと思う書き方であり、今日まで問題に遭遇したことはありません。私が追加したい b は非常に大きな配列だったので、落とし穴に遭遇しました。




コードをコピー
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。