この記事では主に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 サイトの他の関連記事を参照してください。