JavaScript では、配列のようなオブジェクトとも呼ばれる擬似配列は、インデックスに従ってデータを格納し、長さ属性を持つ配列のようなオブジェクトです。オブジェクトであるため、擬似-array には、array.()、forEach() およびその他のメソッドのプッシュはありません。
このチュートリアルの動作環境: Windows7 システム、JavaScript バージョン 1.8.5、Dell G3 コンピューター。
擬似配列の定義と特徴
擬似配列 (ArrayLike)、配列状とも呼ばれます。インデックスに従ってデータを格納し、長さプロパティを持つ配列のようなオブジェクトです。 しかし、次のような特徴があります。
- #インデックスによるデータの保存
0: xxx、1: xxx、2: xxx...
-
length
ただし、属性があります
length
属性は動的ではないため、メンバーが変化しても変化しません
配列を使用しない、push() や forEach() などのメソッド arrayLike.__proto__ === Object.prototype; //true arrayLike instanceof Object; //true arrayLike instanceof Array; //false
jQuery の $() を通じて取得される DOM 要素のセットを含む、一般的な典型的な疑似配列、関数引数オブジェクトと String オブジェクト。
例:
var arrLike = { 0: 'a', 1: 'b', 2: 'c', length: 3, } arrLike[1]; //'a' arrLike.length; //3 arrLike.push('d'); //Uncaught TypeError: arrLike.push is not a function
疑似配列を実際の配列に変換する方法
var arrLike = { 0: 'a', 1: 'b', 2: 'c', length: 3, };1. 空の配列をトラバースして追加します
var arr = [];
for(var i = 0; i < arrLike.length; i++){
arr.push(arrLike[i]);
}
比較的シンプルでわかりやすいですが、手順が少し面倒です。
;[].slice.call(arrLike);
または
Array.prototype.slice.apply(arrLike);
新しい配列を返すには、slice() を使用します。 call() または apply() は、そのスコープを疑似配列に指します。
インデックス値以外の追加の属性は、返された配列には保持されないことに注意してください。
たとえば、jQuery の $() で取得した DOM 擬似配列の context 属性は、このメソッドで変換すると保持されません。
slice() の内部実装をシミュレートする
Array.prtotype.slice = function(start, end){ var result = new Array(); var start = start | 0; var end = end | this.length; for(var i = start; i < end; i++){ result.push(this[i]); } return result; }3. プロトタイプ ポインターを変更する
arrLike.__proto__ = Array.prototype;
このようにして、arrLike は Array のメソッドを継承します。 .prototype では、push()、unshift() などのメソッドを使用でき、長さの値も動的に変更されます。
さらに、プロトタイプ チェーンを直接変更するこの方法では、インデックス値ではない属性を含むすべての属性も擬似配列に保持されます。
4. ES2015 の Array.from() メソッドArray.from() メソッドは、配列のようなオブジェクトまたは反復可能なオブジェクトから新しい配列インスタンスを作成します。 。
var arr = Array.from(arrLike);
得られる結果は 2 番目の方法と似ており、インデックス値内の属性のみが保持されます。
[推奨学習:
JavaScript 上級チュートリアル以上がJavaScriptの擬似配列とは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ChooseuseState()forsimple,independentstatevariables;useuseReducer()forcomplexstatelogicorwhenstatedependsonpreviousstate.1)useState()isidealforsimpleupdatesliketogglingabooleanorupdatingacounter.2)useReducer()isbetterformanagingmultiplesub-valuesorac

UseStateは、州の管理を簡素化し、コードをより明確にし、読みやすくし、Reactの宣言的な性質と一致するため、クラスコンポーネントやその他の州管理ソリューションよりも優れています。 1)UseStateを使用すると、状態変数を関数コンポーネントに直接宣言することができます。2)フックメカニズムの再レンダリング中に状態を覚えています。

useUsestate()forlocalcomponentStatemanagement; compleartinative forglogic、orperformanceissues.1)useidealforsimple、localstate.2)useglobalStateSolutionSolutionSuxorContextForSharedState.3)OptForreDuxtormobxobxobxobforexSt

再利用することは、codecodemaintainabilityを抑制することを再生します

virtualdomisalightweightin-memorycopyofthedomused byRealctuttooptimizeuiupdates.itboostsperformanceByminimizingddomizeddomizedirectdomizedirectdomizedirectdomizedirculation fupdatingthatingdatingdatualdomfirst、その後、applyingonlynlynalychangestotualdom。

HTMLとReactは、JSXを介してシームレスに統合して、効率的なユーザーインターフェイスを構築できます。 1)JSXを使用してHTML要素を埋め込み、2)仮想DOMを使用してレンダリングパフォーマンスを最適化し、3)コンポーネントを通じてHTML構造を管理およびレンダリングします。この統合方法は直感的であるだけでなく、アプリケーションのパフォーマンスを向上させます。

React Reactは、状態および小道具を介してデータを効率的にレンダリングし、合成イベントシステムを介してユーザーイベントを処理します。 1)Counterの例など、UseStateを使用して状態を管理します。 2)イベント処理は、ボタンクリックなどのJSXに関数を追加することにより実装されます。 3)トドリストコンポーネントなどのリストをレンダリングするには、重要な属性が必要です。 4)フォーム処理の場合、FormコンポーネントなどのuseStateおよびe.preventdefault()。

Reactは、HTTP要求を介してサーバーと対話し、データを取得、送信、更新、削除します。 1)ユーザー操作はイベントをトリガーします。2)HTTP要求を開始する、3)サーバーの応答をプロセス、4)コンポーネントのステータスと再レンダリングを更新します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

EditPlus 中国語クラック版
サイズが小さく、構文の強調表示、コード プロンプト機能はサポートされていません

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

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

Dreamweaver Mac版
ビジュアル Web 開発ツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

ホットトピック









