質問: javascriptに配列リストはありますか? 配列に追加したいものがたくさんありますが、配列のサイズが事前にわかりません。 javascriptのc#arraylistに似た何かを実行し、myarray.add(object);繰り返し実行できますか?
回答: javascriptにはarraylistはありません。ただし、 arrayecma 5.1 「arraylist」と同様の機能を備えています。この回答の大部分は、htmlレンダリングである ecma-262 edition 5.1、the ecmascript language specification から得られたものです。定義済み配列には、次のメソッドがあります。 .tostring ( ) .tolocalestring ( ) .concat ( [ item1 [ , item2 [ , ... ] ] ] ) concatメソッドがitem1、item2などのゼロ個以上の引数で呼び出されると、オブジェクトの配列要素に続いて各引数の配列要素を順番に含む配列を返します。 .join (separator) 配列の要素は文字列に変換され、その後、これらの文字列は連結され、セパレータの出現によって分離されます。区切り文字が指定されていない場合、単一のコンマが区切り文字として使用されます。 .pop ( ) 配列の最後の要素が配列から削除され、返されます。 .push ( [ item1 [ , item2 [ , ... ] ] ] ) 引数は、表示される順に配列の最後に追加されます。配列の新しい長さが、呼び出しの結果として返されます。」 .reverse ( ) 配列の要素は、順序が逆になるように再配置されます。オブジェクトは呼び出しの結果として返されます。 .shift ( ) 配列の最初の要素が配列から削除され、返されます。」 .slice (start, end) sliceメソッドは、startとendの2つの引数を取り、要素startから要素endまで(またはendが未定義の場合は配列の末尾まで)の配列の要素を含む配列を返します。 .sort (comparefn) この配列の要素はソートされます。ソートは必ずしも安定しているわけではありません(つまり、等しいと比較する要素が必ずしも元の順序のままであるとは限りません)。 comparefnが未定義でない場合、2つの引数xおよびyを受け入れ、x <yの場合は負の値、x = yの場合はゼロ、x> yの場合は正の値を返す関数でなければなりません。 .splice (start, deletecount [ , item1 [ , item2 [ , ... ] ] ] ) 2つ以上の引数start、deletecount、および(オプションで)item1、item2などでspliceメソッドが呼び出されると、配列インデックスstartから始まる配列のdeletecount要素は引数item1、item2などに置き換えられます。arrayオブジェクト削除された要素(存在する場合)を含むが返されます。 .unshift ( [ item1 [ , item2 [ , ... ] ] ] ) 引数は配列の先頭に追加され、配列内の順序が引数リストに表示される順序と同じになるようにします。 .indexof ( searchelement [ , fromindex ] ) indexofは、内部厳密比較比較アルゴリズム(11.9.6)を使用して、searchelementと配列の要素を昇順で比較し、1つ以上の位置で見つかった場合、最初のそのような位置のインデックスを返します。それ以外の場合、-1が返されます。 .lastindexof ( searchelement [ , fromindex ] ) lastindexofは、内部のstrict equality comparison algorithm(11.9.6)を使用して、searchelementを配列の要素と降順で比較し、1つ以上の位置で見つかった場合、そのような最後の位置のインデックスを返します。それ以外の場合、-1が返されます。 .every ( callbackfn [ , thisarg ] ) callbackfnは、3つの引数を受け入れ、ブール値trueまたはfalseに強制可能な値を返す関数でなければなりません。すべては、callbackfnがfalseを返す要素が見つかるまで、配列に存在する各要素に対してコールバックfnを昇順で1回呼び出します。そのような要素が見つかった場合、everyは直ちにfalseを返します。それ以外の場合、callbackfnがすべての要素に対してtrueを返した場合、everyはtrueを返します。 .some ( callbackfn [ , thisarg ] ) callbackfnは、3つの引数を受け入れ、ブール値trueまたはfalseに強制可能な値を返す関数でなければなりません。配列に存在する各要素に対して、callbackfnがtrueを返す要素が見つかるまで、昇順で一度コールバックfnを呼び出すものもあります。そのような要素が見つかった場合、すぐにtrueを返します。それ以外の場合、一部はfalseを返します。 .foreach ( callbackfn [ , thisarg ] ) callbackfnは、3つの引数を受け入れる関数でなければなりません。 foreachは、配列に存在する各要素に対してコールバックfnを昇順で1回呼び出します。 .map ( callbackfn [ , thisarg ] ) callbackfnは、3つの引数を受け入れる関数でなければなりません。 mapは、配列内の要素ごとにコールバックfnを昇順で1回呼び出し、結果から新しい配列を構築します。 .filter ( callbackfn [ , thisarg ] ) callbackfnは、3つの引数を受け入れ、ブール値trueまたはfalseに強制可能な値を返す関数でなければなりません。 filterは、配列内の要素ごとに昇順でcallbackfnを1回呼び出し、callbackfnがtrueを返すすべての値の新しい配列を作成します。 .reduce ( callbackfn [ , initialvalue ] ) callbackfnは、4つの引数を取る関数でなければなりません。 reduceは、配列内に存在する各要素に対して1回ずつ、関数としてコールバックを昇順で呼び出します。 .reduceright ( callbackfn [ , initialvalue ] ) callbackfnは、4つの引数を取る関数でなければなりません。 reducerightは、配列内に存在する要素ごとに1回、降順で関数としてコールバックを呼び出します。 また、 長さプロパティ 。