この記事では主にJSを使ってNumber型配列の最大の要素を見つける方法を紹介します
JSを使ってNumber型配列の最大(または最小)の数値を見つけるにはどうすればよいでしょうか?
以下に4つの方法を紹介します。
1. ライブラリ関数を使用しない場合
コードは次のとおりです:
function findMax1 (arr) { let result = 0; if (Array.isArray(arr)) { for (let i = 0; i < arr.length; i++) { result = arr[i] > result ? arr[i] : result; } return result; } else { console.error('The parameter arr is not an array'); return; } }
説明:
変数の結果を使用して最大値を格納します。検索対象の配列を走査します。現在走査している要素が result よりも大きい場合、この要素を result に割り当てます。
2. Array.reduce() の使用
コードは次のとおりです:
function findMax2 (arr) { let result = 0; if (Array.isArray(arr)) { result = arr.reduce((a, b) => { return a > b ? a : b; }, 0); return result; } else { console.error('The parameter arr is not an array'); return; } }
説明:
reduce メソッドは、アキュムレーターと配列内の各要素をターゲットとする関数を使用します。配列を単一の値に変換します。
reduce は 2 つのパラメータを受け入れます:
最初のパラメータは callback で、これは前述の関数です。これには 4 つのパラメータがあります:
accumulator: アキュムレータ。最後のコールバック実行の結果です。初期値が指定されている場合、最初は初期値です。
currentValue: 現在探索されている配列の要素。
currentIndex: 現在探索されている配列の要素のインデックス (0 から始まります)。 InitialValue が指定されている場合は 1 から始まります。
array: 現在 Reduce が適用されている配列。
2 番目は、initialValue です。これは初期値であり、コールバック関数の最初の実行の最初の実パラメータとして使用されます。これはオプションです。このパラメータが指定されておらず、空の配列に適用された場合、エラーが報告されることに注意してください。
そして、上記のコードの意味は、比較のために配列が走査されるたびに、大きい方、つまりアキュムレータが保持され、配列要素との次の比較に使用されるということです。最終的にはこの値だけが残り、これが最大値になります。
3. apply と Math.max() の使用
コードは次のとおりです:
function findMax3 (arr) { let result = 0; if (Array.isArray(arr)) { result = Math.max.apply(null, arr); return result; } else { console.error('The parameter arr is not an array'); return; } }
説明:
apply の説明は少し複雑なので、これ以上の説明は行いません。
これは 2 つのパラメーターを受け入れます。1 つ目は thisArg で、2 つ目は argsArray です。どちらもオプションです。簡単に言うと、関数を使用する場合、パラメータは配列として渡されます。
4. Math.max() を使用するだけです
コードは次のとおりです:
function findMax4 (arr) { let result = 0; if (Array.isArray(arr)) { result = Math.max(...arr); return result; } else { console.error('The parameter arr is not an array'); return; } }
説明:
前のソリューションのアイデアに基づいて、ES6 にはスプレッドがあります。演算子 (...) を使用すると、配列内の要素をカンマ区切りのシーケンスに区切ることができます。 Math.max() 関数のニーズを満たしています。
JS
1の数値、数学、配列に関する知識を紹介したいと思います。
Number オブジェクトの作成方法:
方法 1:
var 変数 = new Number (数値)
方法 2:
var 変数 = 数値;
一般的に使用されるメソッド:
toString () 数値を指定された基本形式の文字列に変換します。 (数値を入力すると、数値に変換されます。number.toString(2))
toFixed() は、小数点以下の桁を保持することを指定しており、四捨五入機能もあります。
2、Math
Mathオブジェクトの一般的に使用されるメソッド:
ceilround up
floor()round down
random()random numberメソッド // 生成される疑似乱数は0と1の間です(0を含む、1を除く),
丸め
3. 配列配列オブジェクト:
配列の作成方法 1:
var 変数名 = new Array(); 長さ 0 の配列を作成します。
方法 2:
var 変数名 = new Array(length) は、指定された長さの配列オブジェクトを作成します。
方法 3:
var 変数名 = new Array("要素 1", "要素 2"...); 配列内の要素を指定して配列オブジェクトを作成します。
方法 4:
var 変数名 = ["要素 1", "要素 2"...];
配列に関する注意事項の詳細:
1 配列の長さは JavaScript で変更できます。
var arr = new Array(); //创建了一个长度为0的数组对象。 arr[100] = 10; document.write("arr长度:"+arr.length+"<br/>"); var arr2 = new Array("狗娃","狗剩","铁蛋"); arr2 = ["狗娃","狗剩","铁蛋","张三"]; document.write("arr2长度:"+arr2.length+"<br/>");
3.1 Number メソッド
a、concat把arr1与arr2的数组元素组成一个新的数组返回。 arr1 = arr1.concat(arr2);
b、join は指定された区切り文字を使用して配列内の要素を文字列に組み立てて返します。
var elements = arr1.join(",");
c、pop: 配列の最後の要素を削除し、その要素を返します。
d、プッシュ: 新しい要素を配列に追加し、配列の新しい長さの値を返します。
arr1.push("你好");
e、reverse(); 配列の要素を反転します
f、slice は配列の要素をインターセプトするために配列の開始インデックス値と終了インデックス値を指定し、部分配列を返します。 (ヘッダーは含みますが、末尾は含みません)
var subArr = arr1.slice(1,2);
g、sort ソート、ソート時にソートメソッドを渡す必要があります。 (渡されない場合、デフォルトは ASCII テーブルに従って配置されます)
arr1 = [19,1,20,5]; arr1.sort(sortNumber); //排序,排序的时候一定要传入排序的方法。 function sortNumber(num1,num2){ return num1-num2; }
h、splice の最初のパラメータは要素の削除を開始するインデックス値、2 番目のパラメータは削除された要素の数、後続のデータが挿入されます (省略することもできます)。
arr1.splice(1,1,"张三","李四","王五");
以上、皆様の参考になれば幸いです。
関連記事:
ページ上の特定のコンテンツの定期的な更新を実装するAjaxメソッド
以上がNumber 型配列内の最大の要素を見つけるための JS メソッドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

去掉重复并排序的方法:1、使用“Array.from(new Set(arr))”或者“[…new Set(arr)]”语句,去掉数组中的重复元素,返回去重后的新数组;2、利用sort()对去重数组进行排序,语法“去重数组.sort()”。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于Symbol类型、隐藏属性及全局注册表的相关问题,包括了Symbol类型的描述、Symbol不会隐式转字符串等问题,下面一起来看一下,希望对大家有帮助。

怎么制作文字轮播与图片轮播?大家第一想到的是不是利用js,其实利用纯CSS也能实现文字轮播与图片轮播,下面来看看实现方法,希望对大家有所帮助!

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于对象的构造函数和new操作符,构造函数是所有对象的成员方法中,最早被调用的那个,下面一起来看一下吧,希望对大家有帮助。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于面向对象的相关问题,包括了属性描述符、数据描述符、存取描述符等等内容,下面一起来看一下,希望对大家有帮助。

方法:1、利用“点击元素对象.unbind("click");”方法,该方法可以移除被选元素的事件处理程序;2、利用“点击元素对象.off("click");”方法,该方法可以移除通过on()方法添加的事件处理程序。

本篇文章给大家带来了关于JavaScript的相关知识,其中主要介绍了关于BOM操作的相关问题,包括了window对象的常见事件、JavaScript执行机制等等相关内容,下面一起来看一下,希望对大家有帮助。

foreach不是es6的方法。foreach是es3中一个遍历数组的方法,可以调用数组的每个元素,并将元素传给回调函数进行处理,语法“array.forEach(function(当前元素,索引,数组){...})”;该方法不处理空数组。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

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

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

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

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