配列操作は JS でよく使用されます
元の配列を変更する方法:
push: 配列の末尾に要素を追加し、新しい長さを返します
pop: 最後の要素を削除し、削除された要素を返します
unshift: 追加配列の先頭に要素を追加し、新しい長さを返します
shift: 最初の要素を削除し、削除された要素を返します、空は未定義です
reverse: 配列の順序を逆にします
sort : 配列
- をソートします
splice: 配列要素の削除、追加、置換、削除された配列を返します、削除しない場合は戻りません
は元の配列の操作メソッドを変更しません:
-
concat: connect複数の配列の場合は、新しい配列を返します
join: パラメータを区切り文字として配列内のすべての要素を 1 つの文字にまとめます
slice: 選択された要素を返します
map(es6):配列は新しい配列にマッピングされます
filter(es6): 配列のフィルタリング、メソッド判定を通過した後に生成されたすべての新しい配列を返します (true と判定された場合)
forEach: 配列トラバーサル、いいえ戻り値
every(es6): 配列内の各項目に対して指定された関数を実行し、各項目が true の場合は true を返し、それ以外の場合は false を返します
some(es6): 指定された関数を実行します配列内の要素に対して、たとえば where 1 つの項目が true の場合に true を返します。この時点で、すべてが false の場合は false を返します
find(es6): Findテストメソッド (関数) の条件を満たす配列内の最初の要素 要素を返し、その要素を返します
reduce(es6): メソッドは関数をアキュムレータとして受け取り、配列内の各値を受け取ります(左から右へ) 減少し始め、最終的に値として計算されます。
indexOf: メソッドは、配列内で指定された要素が見つかる最初の index を返します。要素が存在しない場合は -1 を返します。
includes(es7): このメソッドは、状況に応じて、配列に指定された値が含まれているかどうかを判断するために使用され、含まれている場合は true を返し、そうでない場合は false を返します。
使用
// 连接数组 //concat方法 var array1 = ['a', 'b', 'c']; var array2 = ['d', 'e', 'f']; array1.concat(array2); // ["a", "b", "c", "d", "e", "f"] // 展开运算符方法 [...array1, ...array2] // ["a", "b", "c", "d", "e", "f"] //循环 var arr = ['a', 'b', 'c']; arr.forEach(function(element, index) { console.log(element + ',' + index); }); // a , 0 // b , 1 // c , 2 // 箭头函数写法 arr.forEach((element,index) => console.log(element,index)); //循环映射(map) var numbers = [1, 5, 10, 15]; let doubles = numbers.map((item, index) => item * 2); // [2, 10, 20, 30] // 数组是否元素包含(includes) let a = [1, 2, 3]; a.includes(2); // true a.includes(4); // false //查找元素(find) //查找数组中大于等于15的元素,并且返回第一个元素 var ret = [12, 5, 8, 130, 44].find(function(element) { return element >= 15; // 方法需要有返回值,判断得出true或者false,返回为true的元素 } ); // 130 // 过滤数组(filter) // 过滤数组中大于等于10的元素并且返回新数组 var filtered = [12, 5, 8, 130, 44].filter(function(value) { return value >= 10; // 方法需要有返回值,判断得出true或者false,返回为true的元素 } ); // [12, 130, 44] // 循环判断(every) 为每个元素都执行 var passed = [12, 5, 8, 130, 44].every(function (element, index, array) { return (element >= 10); }); // false // 循环判断(some) 遇到返回值为true的就停止执行 var passed = [12, 5, 8, 130, 44].some(function (element, index, array) { return (element >= 10); }); // true // 数组截取(slice) 不改变原数组 var animals = ['ant', 'bison', 'camel', 'duck', 'elephant']; animals.slice(2) // ["camel", "duck", "elephant"] 返回数组从下标2开始直到结尾的一个新数组 animals.slice(2, 4) //["camel", "duck"] 返回数组从下标2到4之间到一个新数组 // 数组减接(splice) 改变原数组 var myFish = ['angel', 'clown', 'mandarin', 'sturgeon']; myFish.splice(2, 0, 'drum'); // ["angel", "clown", "drum", "mandarin", "sturgeon"] 0为删减个数,在索引为2的位置不删减并且插入'drum' myFish.splice(2, 1); // ["angel", "clown", "mandarin", "sturgeon"] 从索引为2的位置删除1项(也就是'drum'这一项) // 使用 lastIndexOf var array = [2, 5, 9, 2]; var index = array.lastIndexOf(2); // index === 3 var index = array.lastIndexOf(8); // index === -1 // 数组转字符串(join) let a = ['Wind', 'Rain', 'Fire']; a.join() //默认为逗号分隔 // 'Wind,Rain,Fire' a.join("-") // 用 - 分隔 // 'Wind-Rain-Fire' // es6 数组去重 let array = [1, 1, 1, 1, 2, 3, 4, 4, 5, 3]; let set = new Set(array); let newarr = Array.from(set); // newarr === [1, 2, 3, 4, 5]
この記事の事例を読んだ後は、この方法を習得したと思います。さらに興味深い情報については、php 中国語 Web サイトの他の関連記事に注目してください。
推奨読書:
以上が配列操作は JS でよく使用されますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

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

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

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

ホットトピック









foreach ループを使用して PHP 配列から重複要素を削除する方法は次のとおりです。配列を走査し、要素がすでに存在し、現在の位置が最初に出現しない場合は、要素を削除します。たとえば、データベース クエリの結果に重複レコードがある場合、このメソッドを使用してそれらを削除し、重複レコードのない結果を取得できます。

PHP で配列をディープ コピーする方法には、json_decode と json_encode を使用した JSON エンコードとデコードが含まれます。 array_map と clone を使用して、キーと値のディープ コピーを作成します。シリアル化と逆シリアル化には、serialize と unserialize を使用します。

PHP の配列キー値の反転メソッドのパフォーマンスを比較すると、array_flip() 関数は、大規模な配列 (100 万要素以上) では for ループよりもパフォーマンスが良く、所要時間が短いことがわかります。キー値を手動で反転する for ループ方式は、比較的長い時間がかかります。

PHP で配列のディープ コピーを実行するためのベスト プラクティスは、 json_decode(json_encode($arr)) を使用して配列を JSON 文字列に変換し、それから配列に戻すことです。 unserialize(serialize($arr)) を使用して配列を文字列にシリアル化し、それを新しい配列に逆シリアル化します。 RecursiveIteratorIterator を使用して、多次元配列を再帰的に走査します。

多次元配列のソートは、単一列のソートとネストされたソートに分類できます。単一列のソートでは、array_multisort() 関数を使用して列ごとにソートできますが、ネストされたソートでは、配列を走査してソートするための再帰関数が必要です。具体的な例としては、製品名による並べ替えや、売上数量や価格による化合物の並べ替えなどがあります。

PHP の array_group_by 関数は、キーまたはクロージャ関数に基づいて配列内の要素をグループ化し、キーがグループ名、値がグループに属する要素の配列である連想配列を返すことができます。

目次 Astar Dapp ステーキングの原則 ステーキング収益 潜在的なエアドロップ プロジェクトの解体: AlgemNeurolancheHealthreeAstar Degens DAOVeryLongSwap ステーキング戦略と運用 「AstarDapp ステーキング」は今年初めに V3 バージョンにアップグレードされ、ステーキング収益に多くの調整が加えられましたルール。現在、最初のステーキング サイクルが終了し、2 番目のステーキング サイクルの「投票」サブサイクルが始まったばかりです。 「追加報酬」特典を獲得するには、この重要な段階を把握する必要があります (6 月 26 日まで続く予定で、残りは 5 日未満です)。 Astarステーキング収入を詳しく説明します。

Ele.me は、さまざまな珍味を集めたソフトウェアです。オンラインで選択して注文できます。販売者は注文を受けてすぐに作成します。ユーザーはソフトウェアを通じて WeChat をバインドできます。具体的な内容を知りたい場合は、操作方法については、PHP 中国語 Web サイトを忘れずに確認してください。 WeChat を Ele.me にバインドする方法の手順: 1. まず Ele.me ソフトウェアを開き、ホームページに入った後、右下隅の [My] をクリックします; 2. 次に、My ページで、左上隅の[アカウント]; 3. 次に、携帯電話、WeChat、Alipay、および淘宝網をバインドできる個人情報ページに移動します. ここで、[WeChat] をクリックします; 4. 最後のクリック後、WeChat アカウントを選択しますこれは WeChat 認証ページでバインドする必要があり、[許可] をクリックするだけです。
