この記事では、JavaScript 配列でよく使用される API をまとめて紹介します。必要な方は参考にしてください。
配列の一般的な API の紹介
split()
: 文字列を配列に分割します (文字列を操作します) split()
:拆分字符串变成数组(对字符串操作)join()
:合并数组变成字符串(对数组操作)concat()
:连接两数组splice(begin,deleteCount,insert)
:拼接splic(begin,end)
:截取[begin,end)
sort(callball(value1,value2))
:排序resever()
:反序filter(callback(currentValue,index))
:筛选map(callback(currentValue,index))
:遍历,有返回值,和forEach
类似forEach(callback(currentValue,index))
:遍历,没有返回值reduce(callback(array,currentValue,index)[,array])
:累计处理arguments
:在函数内部使用,将函数的参数变成伪数组(不能用数组的 api)
例子
sort
排序:如果value1 返回<code>-1
,升序排列;返回1
,降序排列
var arr = [1,5,4,3,2,6,7] arr.sort((value1,value2) => { if(value1 value2){ return 1 //降序 }else{ return 0 } })
filter
筛选数组,接受一个回调函数,回调函数的参数value
、index
(可选)、array
(可选)
let arr = [1,2,3,4,5,6,7,8,9] arr.filter((value,index) =>{ console.log(index) return value > 5 //筛选条件 })
let fruits = ['apple', 'banana', 'grapes', 'mango', 'orange']; function find(element){ return fruits.filter((e)=>{ return e.indexOf(element) >= -1 //indexOf查到元素,找到返回元素的索引 }) } find('ap') //['apple','grapes']
map
和forEach
之间的区别是:map
有返回值,forEach
没有返回值;要forEach
能返回值出来,在它内部定义一个变量存储遍历的值就可以了。
var a = [1,2,3,4] a.map(e => e*2) //[1,4,6,8] a.forEach(e => e*2) //undefined, return 也不会出来
reduce
接受两个参数,回调函数和回调函数的第一个参数(可选);回调函数接受四个参数:1、回调函数的返回值(处理结果)或者reduce
的第二个参数;2、正在处理的元素;3、正在处理元素的索引;4、调用reduce
的数组。
如果reduce
接收第二个参数,那么回调函数的第一个参数就是它(如去重,运行逻辑是把待处理数组的每一项处理后在一个个push
进去,是加的过程);如果没有第二个参数,那么回调函数的第一个参数就是待处理数组的第一项(如摧毁数组,运行逻辑是把待处理数组直接拿过来集中处理,是减的过程)。
//去重:把待处理数组的每一项处理后在一个个`push`进去,是加的过程 var a = [1,2,3,2,4,5,3,1] a.sort().reduce((arr,currentValue) => { if(arr.length === 0 || arr[arr.length-1] !== currentValue){ arr.push(currentValue) } return arr },[]) //[1,2,3,4,5] //摧毁数组:把待处理数组直接拿过来集中处理,是减的过程 function destroyer(arr) { return [].slice.call(arguments).reduce((current,next) =>{ return current.filter((e) => { return e !== next }) }) } destroyer([1, 2, 3, 1, 2, 3], 2, 3); //[1,1]
arguments
join()
: 配列を結合しますstring (配列の操作)
concat()
: 2 つの配列を接続します splice(begin,deleteCount,insert)
: スプライス splic(begin,end): <code>[begin,end)
をインターセプトします
sort(callball(value1,value2))
: sortresever()
: 逆順 filter(callback(currentValue,index))
: フィルター map(callback(currentValue,index))
: トラバース、戻り値、および forEach
forEach(callback(currentValue,index))
と同様: トラバーサル、戻り値なし
reduce(callback(array,currentValue,index)[,array])
:累積処理
sort
並べ替え: value1 が -1
を返す場合は昇順でソートされ、 1
は降順でソートされます。 >filter フィルター配列。コールバック関数を受け入れます。コールバック関数のパラメーターは、value
、index
(オプション)、array
です。 (オプション)function array(arr){
console.log(arr) //[1,2,3,4,5],注意是一个伪数组,不能用数组的方法
}
array(1,2,3,4,5)
var args = Array.prototype.slice.call(arguments);
var args = [].slice.call(arguments);
rrreee map
と forEach
の違いは次のとおりです: map
には戻り値があり、forEach
> には戻り値がありません。forEach
は値を返すことができ、その中に変数を定義して走査された値を格納するだけです。 🎜rrreee
reduce
は、コールバック関数とコールバック関数の最初のパラメーター (オプション) の 2 つのパラメーターを受け取ります。コールバック関数は 4 つのパラメーターを受け取ります。 1. コールバック関数の戻り値 (処理) result ) または reduce
の 2 番目のパラメータ。 2. 処理される要素 3. 処理される要素のインデックス。 4. reduce
を呼び出す配列。 🎜🎜reduce
が 2 番目のパラメーターを受け取った場合、コールバック関数の最初のパラメーターはそれです (重複排除など、実行ロジックでは、処理対象の配列の各項目を 1 つずつ処理します) push
が入ります。これは追加のプロセスです)。2 番目のパラメーターがない場合、コールバック関数の最初のパラメーターが処理される配列の最初の項目になります (配列の破棄など)。 、実行ロジックは、処理対象の配列を直接配置することです。それを引き継いで中央で処理するのが削減のプロセスです)。 🎜rrreee
arguments
配列ではありませんが、実際の配列に変換する方法は次の 2 つです🎜rrreee🎜 関連する推奨事項: 🎜🎜🎜🎜 js 内の文字列の完全な配置。アルゴリズム分析🎜🎜🎜🎜🎜JavaScriptのイベントフローの内容を簡単に分析🎜🎜🎜
map
と forEach
の違いは次のとおりです: map
には戻り値があり、forEach
> には戻り値がありません。forEach
は値を返すことができ、その中に変数を定義して走査された値を格納するだけです。 🎜rrreee
reduce
は、コールバック関数とコールバック関数の最初のパラメーター (オプション) の 2 つのパラメーターを受け取ります。コールバック関数は 4 つのパラメーターを受け取ります。 1. コールバック関数の戻り値 (処理) result ) または reduce
の 2 番目のパラメータ。 2. 処理される要素 3. 処理される要素のインデックス。 4. reduce
を呼び出す配列。 🎜🎜reduce
が 2 番目のパラメーターを受け取った場合、コールバック関数の最初のパラメーターはそれです (重複排除など、実行ロジックでは、処理対象の配列の各項目を 1 つずつ処理します) push
が入ります。これは追加のプロセスです)。2 番目のパラメーターがない場合、コールバック関数の最初のパラメーターが処理される配列の最初の項目になります (配列の破棄など)。 、実行ロジックは、処理対象の配列を直接配置することです。それを引き継いで中央で処理するのが削減のプロセスです)。 🎜rrreee
arguments
配列ではありませんが、実際の配列に変換する方法は次の 2 つです🎜rrreee🎜 関連する推奨事項: 🎜🎜🎜🎜 js 内の文字列の完全な配置。アルゴリズム分析🎜🎜🎜🎜🎜JavaScriptのイベントフローの内容を簡単に分析🎜🎜🎜
arguments
配列ではありませんが、実際の配列に変換する方法は次の 2 つです🎜rrreee🎜 関連する推奨事項: 🎜🎜🎜🎜 js 内の文字列の完全な配置。アルゴリズム分析🎜🎜🎜🎜🎜JavaScriptのイベントフローの内容を簡単に分析🎜🎜🎜以上がJavaScript 配列で一般的に使用される API の概要の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

JavaScriptは1995年に発信され、Brandon Ikeによって作成され、言語をCに実現しました。 2。JavaScriptのメモリ管理とパフォーマンスの最適化は、C言語に依存しています。 3. C言語のクロスプラットフォーム機能は、さまざまなオペレーティングシステムでJavaScriptを効率的に実行するのに役立ちます。

JavaScriptはブラウザとnode.js環境で実行され、JavaScriptエンジンに依存してコードを解析および実行します。 1)解析段階で抽象的構文ツリー(AST)を生成します。 2)ASTをコンパイル段階のバイトコードまたはマシンコードに変換します。 3)実行段階でコンパイルされたコードを実行します。

PythonとJavaScriptの将来の傾向には、1。Pythonが科学コンピューティングの分野での位置を統合し、AI、2。JavaScriptはWebテクノロジーの開発を促進します。どちらもそれぞれのフィールドでアプリケーションシナリオを拡大し続け、パフォーマンスをより多くのブレークスルーを行います。

開発環境におけるPythonとJavaScriptの両方の選択が重要です。 1)Pythonの開発環境には、Pycharm、Jupyternotebook、Anacondaが含まれます。これらは、データサイエンスと迅速なプロトタイピングに適しています。 2)JavaScriptの開発環境には、フロントエンドおよびバックエンド開発に適したnode.js、vscode、およびwebpackが含まれます。プロジェクトのニーズに応じて適切なツールを選択すると、開発効率とプロジェクトの成功率が向上する可能性があります。

はい、JavaScriptのエンジンコアはCで記述されています。1)C言語は、JavaScriptエンジンの開発に適した効率的なパフォーマンスと基礎となる制御を提供します。 2)V8エンジンを例にとると、そのコアはCで記述され、Cの効率とオブジェクト指向の特性を組み合わせて書かれています。3)JavaScriptエンジンの作業原理には、解析、コンパイル、実行が含まれ、C言語はこれらのプロセスで重要な役割を果たします。

JavaScriptは、Webページのインタラクティブ性とダイナミズムを向上させるため、現代のWebサイトの中心にあります。 1)ページを更新せずにコンテンツを変更できます。2)Domapiを介してWebページを操作する、3)アニメーションやドラッグアンドドロップなどの複雑なインタラクティブ効果、4)ユーザーエクスペリエンスを改善するためのパフォーマンスとベストプラクティスを最適化します。

CおよびJavaScriptは、WebAssemblyを介して相互運用性を実現します。 1)CコードはWebAssemblyモジュールにコンパイルされ、JavaScript環境に導入され、コンピューティングパワーが強化されます。 2)ゲーム開発では、Cは物理エンジンとグラフィックスレンダリングを処理し、JavaScriptはゲームロジックとユーザーインターフェイスを担当します。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

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

SecLists
SecLists は、セキュリティ テスターの究極の相棒です。これは、セキュリティ評価中に頻繁に使用されるさまざまな種類のリストを 1 か所にまとめたものです。 SecLists は、セキュリティ テスターが必要とする可能性のあるすべてのリストを便利に提供することで、セキュリティ テストをより効率的かつ生産的にするのに役立ちます。リストの種類には、ユーザー名、パスワード、URL、ファジング ペイロード、機密データ パターン、Web シェルなどが含まれます。テスターはこのリポジトリを新しいテスト マシンにプルするだけで、必要なあらゆる種類のリストにアクセスできるようになります。

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ホットトピック









