[解決済み] JavaScriptで配列の先頭に新しい配列要素を追加するにはどうすればよいですか?
2022-03-16 17:56:44
質問
配列の先頭に要素を追加または前置する必要があります。
例えば、以下のような配列の場合。
[23, 45, 12, 67]
そして、私のAJAXコールからの応答は、次のとおりです。
34
で、更新された配列は以下のようにしたい。
[34, 23, 45, 12, 67]
現状ではこのようにしようと思っています。
var newArray = [];
newArray.push(response);
for (var i = 0; i < theArray.length; i++) {
newArray.push(theArray[i]);
}
theArray = newArray;
delete newArray;
もっと良い方法はないでしょうか?JavaScriptにはこのような機能が組み込まれているのでしょうか?
私のメソッドの複雑さは
O(n)
より良い実装を見るのは本当に興味深いことです。
どのように解決するのか?
使用方法
unshift
. それは、次のようなものです。
push
ただし、配列の末尾ではなく先頭に要素を追加します。
-
unshift
/push
- 配列の先頭/末尾に要素を追加する。 -
shift
/pop
- 配列の先頭/末尾の要素を削除して返します。
簡単な図...
unshift -> array <- push
shift <- array -> pop
とチャートを表示します。
add remove start end
push X X
pop X X
unshift X X
shift X X
をチェックしてください。
MDN Array ドキュメント
. 配列の要素をプッシュ/ポップする機能を持つほぼすべての言語には、アンシフト/シフトする機能もあります。
push_front
/
pop_front
) 要素の実装を自分で行う必要はないはずです。
コメントで指摘されているように、元の配列の変異を避けたいのであれば
concat
これは、2つ以上の配列を連結するものです。これを使用すると、1 つの要素を既存の配列の前面または背面に押し出すことができます。そのためには、新しい要素を単一要素の配列に変換する必要があります。
const array = [3, 2, 1]
const newFirstElement = 4
const newArray = [newFirstElement].concat(array) // [ 4, 3, 2, 1 ]
console.log(newArray);
concat
は、項目を追加することもできます。の引数は
concat
は任意の型が可能です。配列でない場合は、暗黙のうちに単一要素の配列にラップされます。
const array = [3, 2, 1]
const newLastElement = 0
// Both of these lines are equivalent:
const newArray1 = array.concat(newLastElement) // [ 3, 2, 1, 0 ]
const newArray2 = array.concat([newLastElement]) // [ 3, 2, 1, 0 ]
console.log(newArray1);
console.log(newArray2);
関連
-
vue for 登録ページ効果 vue for sms 認証コードログイン
-
vueのグローバルがscss(mixin)を導入。
-
vueにおけるfilterの適用シーンについて解説します。
-
[解決済み】 env: node: macにそのようなファイルやディレクトリはありません
-
[解決済み] 配列から特定の項目を削除するにはどうすればよいですか?
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] JavaScriptで文字列が部分文字列を含むかどうかを確認する方法は?
-
[解決済み] あるJavaScriptファイルを他のJavaScriptファイルにインクルードするにはどうすればよいですか?
-
[解決済み] JavaScript で配列に値が含まれているかどうかを確認するにはどうすればよいですか?
-
[解決済み] 配列に特定のインデックスで項目を挿入する方法 (JavaScript)
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
要素ツリー制御によるvueTreeテーブル
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
Vueのフィルタの説明
-
[解決済み】JavaScript TypeError: null のプロパティ 'style' を読み取ることができない
-
[解決済み】JavaScriptエラー(Uncaught SyntaxError: Unexpected end of input)
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。
-
nullのプロパティinnerHTMLを読み取れません エラーメッセージ
-
JSクリックイベント - Uncaught TypeError: プロパティ 'onclick' に null を設定できません。
-
JavaScriptのgetElementById()メソッド入門
-
[解決済み] javascriptが配列の先頭に要素をプッシュする [duplicate] 。