ホームページ ウェブフロントエンド jsチュートリアル JS 配列操作のプッシュ、ポップ、シフト、アンシフトなどのメソッドは、detail_javascript スキルで紹介されています。

JS 配列操作のプッシュ、ポップ、シフト、アンシフトなどのメソッドは、detail_javascript スキルで紹介されています。

May 16, 2016 pm 05:44 PM
pop push 配列演算

jsにはまだまだたくさんの配列操作のメソッドが存在しますが、過去を振り返り新しいことを学ぶという意味でも、今日はそれらをまとめてみようと思い立ちました。ただし、すべての方法を説明するのではなく、いくつかの方法を選択します。

まず、プッシュ メソッドとポップ メソッドについて説明します。これら 2 つのメソッドは配列を末尾からプッシュまたはポップするだけであり、変更は操作された配列に影響します。 Push(args) は、一度に複数の要素をプッシュし、更新された配列の長さを返すことができます。 Pop() 関数は、毎回最後に最後の要素のみをポップアップし、空の配列で Pop() が呼び出された場合は、未定義を返します。 パラメータが配列の場合、配列全体が 1 つの要素として元の配列にプッシュされます。 concat が配列をマージする場合のような「分割現象」は発生しません。以下の例を見てみましょう。

例 1:
var oldArr=[1,2,3] ;
alert(oldArr.push(4,[5,6]))–>5 (ここでは [5,6] のみが 1 つの要素として計算され、更新された配列の長さ 5 が返されます)
この時点では、oldArr–>[1,2,3,4,[5,6]]
alert(oldArr.pop())–>[5,6](最後の要素 [5,6] ] がここに表示されます。 6)
oldArr–>[1,2,3,4]
oldArr.pop()–>4
oldArr.pop()–>3
oldArr .pop()–>2
oldArr.pop()–>1
oldArr.pop()–>未定義 (空の配列ポップアップ)
プッシュとポップについて話した後、 unshift と SHIFT
を見てみましょう。どちらのメソッドも配列の先頭で動作します。他のメソッドは基本的に Push と Pop に似ていますが、IE では unshift メソッドは未定義の

を返します。 例 2 :
var oldArr2=[1,2];
oldArr2.unshift(3)–>未定義
この時点では、oldArr2 は –>[3,1,2]
oldArr2 .shift()–>3
現時点では、oldArr2 は [1,2]
より強力なスプライスを見てみましょう。これは、配列内のランダムな位置で要素を追加および削除するために使用できます。その動作もオリジナルにあります

配列に対する変更
splice(start,deleteCnt,args) の start は を意味します。開始操作の添字、deleteCnt は開始添字 (要素を含む) から開始して削除することを意味し、要素の数、削除操作は削除された要素を返します。 args は、削除された要素を置き換えるために使用される要素を表します (複数のパラメータを持つことができます)。start および deleteCnt は数値でなければなりません。変換が失敗した場合は、0 として扱われます。スプライスには少なくとも 1 つの開始要素が必要です。そうでない場合、操作は実行されません。 deleteCnt がない場合は、開始要素と後続のすべての要素が削除されることを意味します (IE では 0 は削除されません)。 start には負の数を指定できます。これは、配列の右側の末尾から開始することを意味します。 deleteCnt が負の場合、負の要素を削除することはできないため、削除は実行されません。
説明は終わりましたので、例を見てみましょう。

例 3:
var oldArr3=[ 1,2];
oldArr3.splice()–>””(oldArr3–>[1,2] の操作の後は空の文字列を返し、何も実行しません)
oldArr3.splice( “”)–>[1,2]("" は数値への変換に失敗し、0 を返したので、操作後に 1,2,oldArr3–>[] を削除しますが、IE では少し不快です。何も操作しません)
oldArr3.splice(" 1a")–>同上
odlArr3.splice(0,2)–>[1,2]("添字0の要素から開始、2 つの要素 1,2 を削除するため、削除後は oldArr3–> [])
oldArr3.splice(0,-1)–>””(添字 0 から始まる -1 要素を削除するため、操作は行われません操作後、 oldArr3–>[1,2] )
oldArr3.splice(1,1)–>2 (インデックス 1 から始まる 1 つの要素、つまり 2 を削除します。したがって、削除後、 oldArr3–>[1])
oldArr3.splice(1 ,4)–>2 (添字 1 から始まる 4 つの要素を削除し、1 から始まる要素は 1 つしかないため、2 を削除します。つまり、削除後、 oldArr3–>[1])
oldArr3.splice(-1, 0,3)–>""(要素 2 である添字 -1 から始まる 0 要素を削除し、要素 3 を追加します。操作 oldArr3–>[1,3,2])
oldArr3.splice (-1,1,3)–>2 (添字 -1 から始まる 1 要素 (2 要素) を削除し、追加します要素 3. 操作後は、oldArr3–>[1,3])
OK 次に、concat から始めましょう。このメソッドは、2 つ以上の配列を接続するために使用されます。配列は元の配列を変更しません。接続中にパラメータが配列の場合のみ、新しい配列を返します。この例を直接開始するのは比較的簡単です

: var oldArr4=[1,2];
oldArr4.concat(3,4)–>[1,2 ,3,4]
oldArr4.concat(3,4,[5,6] )–>[1,2,3,4,5,6](ここで追加されるのは[5,6]要素5と要素6です)
oldArr4.concat(3,[4,[5,6] ]])–>[1,2,3,4,[5,6]](ここでは最も内側の層です。要素 [5,6] 全体は分割ではなく追加に使用されます)
について話しましょう配列のソートメソッド sort
sort(function) は元の配列をソートするものであり、新しい配列は生成されません。デフォルトでは、パラメータを指定しない sort() は、比較のために配列内の要素を文字列に変換し、文字は文字エンコーディングの順序に従って並べ替えられます。

Look at the following example
var oldArr5=[3,1,5,7,17] Looking at this general concept, when sorting oldArr5, oldArr5.sort() will follow Sorting the numbers from small to large returns [1,3,5,7,17], but if you look at the result, it actually returns [1,17,3,5,7] because they are converted into strings during comparison. Then compare the strings one by one. If the first character is the same, compare the second character. Otherwise, the comparison result will be returned directly. Because "17"<"3", it is conceivable that the sorting result is not what you usually think. That came to fruition.

In addition to the default no parameters, the sort(function) method can also pass in a custom sorting method. In this way, the sorting results can be completely controlled by yourself. You can sort them however you want. Isn’t it great? Ah, hehe. Generally, a custom function comparison function contains two parameters representing the left element and the right element used for comparison. Then a result is returned in a certain way. If the return value is greater than 0, it means that the left and right elements are exchanged. If the return value is less than 0 or equal to 0, it means that the left and right elements will not be exchanged. Now look at the example

Example 5:
Arrange the original array according to the numbers from large to small

Copy code The code is as follows:

var oldArr5=[3,1,5,7,17]; //Initial array
function mySort(left,right) {
if(leftreturn 1;}//If the left element is less than the right element, exchange the two numbers
else{
return -1;}//If the left element is greater than or equal to The elements on the right are not exchanged
}

Of course the above method can be simplified to funaction mySort(left,right){ return right-left;}
Copy code The code is as follows:

//Sort by even numbers first and odd numbers last
var oldArr6=[3,6,7, 18];//Initial array
function mySort2(left,right){
if(left%2==0)return -1;//If the left element is an even number, no exchange is done
if(right %2==0)return 1; //If the right element is an even number, exchange
return 0; //Do not exchange
}

I won’t talk much about the last slice, just use To intercept some elements in the original array and return a new array. The original array will not change. Its operation method is similar to the slice of string
Copy code The code is as follows:

var oldArr7=[1,2,3,4];
oldArr7.slice(0)–>[1,2,3,4 ]
oldArr7.slice(0,2)–>[1,2]
oldArr7.slice(0,0)–>[]
oldArr7.slice(0,-1)–> ;[1,2,3]
oldArr7.slice(-3,-1)–>[2,3]
oldArr4.slice(-1,-3)–[]

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

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PHP8.0での配列のマージ操作:array_merge PHP8.0での配列のマージ操作:array_merge May 14, 2023 am 08:52 AM

PHP8.0版では配列のマージ動作が改善されました。この改善は主に配列データ型のマージ操作を対象としています。以前のバージョンでは、PHP によって提供される配列の結合操作は「+」記号を使用して実装されていました。ただし、このアプローチにはいくつかの問題があります。 2 つの配列に同じキーが含まれている場合、2 番目の配列のキー値が最初の配列のキー値を上書きします。2 つの配列をマージする必要がある場合は、array_merge() 関数を上手に使用する必要があります。 。さて、PHPでは

PHPで文字列を配列に入れて改行で分割する方法 PHPで文字列を配列に入れて改行で分割する方法 Aug 28, 2023 pm 10:57 PM

PHPとは何ですか? PHP は Hypertext Preprocessor の略で、Web 開発に使用される一般的なサーバーサイド スクリプト言語です。動的でインタラクティブな Web ページを作成するように設計されています。 PHP は HTML コードに埋め込まれてサーバー上で実行され、クライアントのブラウザーに送信される HTML 出力を生成します。学習しやすい構文を備えた PHP を使用すると、開発者は動的な Web サイトを構築し、フォーム データを処理し、データベースと対話し、さまざまなサーバー側タスクを実行できます。これには、機能を強化し、開発者が強力でスケーラブルな Web アプリケーションを作成できるようにするライブラリとフレームワークの広大なエコシステムがあります。 PHP はホスティング プロバイダーによって広くサポートされているため、Web 開発プロジェクトの最優先の選択肢となっています。 PHPで文字列を配列に入れて改行で分割する方法

PHP を使用した配列操作のベスト プラクティス PHP を使用した配列操作のベスト プラクティス Jun 06, 2023 am 10:30 AM

PHP は、さまざまな方法で配列操作を実行できる、広く使用されているサーバー側スクリプト言語です。この記事では、より効率的で美しく、読みやすいコードを作成するために役立つ、PHP コードを記述する際のベスト プラクティスを紹介します。 1. 手動ループの代わりに配列関数を使用する データを移動、操作、または変更するには、配列を手動でループする代わりに、PHP 配列関数を使用することをお勧めします。 PHP 配列関数はより高速に実行され、可読性と保守性が向上します。以下は、一般的に使用される PHP 配列関数の一部です。

PHP8.0 の配列に対する危険な操作: array_splice() PHP8.0 の配列に対する危険な操作: array_splice() May 14, 2023 am 08:24 AM

PHP8.0 における配列の危険な操作: array_splice() PHP プログラミングでは、配列は、1 つの変数に複数の値を格納できるようにする非常に一般的に使用されるデータ構造です。 array_splice() 関数は、配列を処理するメソッドであり、配列内の要素を削除または置換できます。ただし、PHP8.0 の array_splice() 関数には危険な操作が含まれており、不適切に使用すると重大な問題を引き起こす可能性があります。この記事で詳しくご紹介します

PHP カスタム関数を使用して配列の交差と結合の機能を拡張する PHP カスタム関数を使用して配列の交差と結合の機能を拡張する May 01, 2024 am 10:45 AM

配列の交差および共用体の機能は、PHP カスタム関数を使用して拡張できます。カスタム交差関数を使用すると、キーまたは値で交差を検索でき、カスタム ユニオン関数では、キーまたは値で共用体を検索できます。これにより、特定のニーズに基づいて配列を柔軟に操作できるようになります。

PHP 配列操作の完全なリスト: array_diff() PHP 配列操作の完全なリスト: array_diff() Jun 20, 2023 pm 03:57 PM

PHP では、配列は非常に一般的で便利なデータ構造です。 PHP は、これらの配列を操作および処理するためのさまざまな関数とメソッドを提供します。非常に便利な関数の 1 つは array_diff() です。この記事では、この機能について詳しく説明します。 array_diff() 関数の基本的な使用法は非常に簡単です。この関数は 2 つ以上の配列を引数として受け取り、最初の配列には存在するが他の配列には存在しない要素を含む新しい配列を返します。以下に例を示します: $array1=

PHP での IMAP および POP プロトコルの適用 PHP での IMAP および POP プロトコルの適用 Jun 23, 2023 am 11:51 AM

インターネットと電子メールの普及により、人々は電子メールによるコミュニケーションにますます依存するようになりました。 PHP は、人気のあるスクリプト プログラミング言語として、電子メール操作の強力なサポートも提供します。その中で、IMAP プロトコルと POP プロトコルは、PHP での電子メール操作によく使用される 2 つのプロトコルです。 PHP でのアプリケーションを詳しく紹介しましょう。 1. IMAP プロトコル IMAP (Internet Message Access Protocol) プロトコルは、電子メール クライアントと電子メール サーバーの間に確立されます。

PHP配列のキーと値の交換:パフォーマンスの比較と最適解の詳細な説明 PHP配列のキーと値の交換:パフォーマンスの比較と最適解の詳細な説明 May 04, 2024 pm 01:51 PM

PHP 配列のキーと値の交換に最適なソリューション: 組み込みの array_flip() 関数を使用します。時間計算量は O(n) です。配列が大きい場合、array_flip() のパフォーマンス上の利点がより明白になります。実際のケース: array_flip() を使用して、ショッピング カート内の製品名の配列を製品数量の配列に変換できます。

See all articles