JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptの多次元配列から最大値を取得する方法

    JavaScriptでは、任意の深さにネストされた数値の配列の中から最大の数値を見つけ出す関数を作成できます。この記事では、再帰処理を使って多次元配列内の最大値を求める方法を、具体的なコード例とともに解説します。 問題の例 例えば、次のような入れ子構造の配列が入力として与えられた場合を考えてみましょう。 const arr = [ 34, 65, 67, [ 43, 76, 87, 23, 56, 7, [ 54, 7, 87, 23, 79, 994, 2 ], 54 ], 5

  2. JavaScriptで2つの配列の共通要素(積集合)を求めるintersection関数の実装方法

    はじめにJavaScriptには、2つの配列が与えられたときに、それらの共通部分(積集合)を計算して返す組み込みのメソッドは用意されていません。そこで本記事では、共通する要素を任意の順序で含む配列を返す関数 intersection() を自前で実装する方法を解説します。重要なポイントとして、結果に含まれる各要素は、両方の配列に現れる回数だけ繰り返して含める必要があります。具体例たとえば、入力が以下の2つの配列だったとします。arr1 = [hello, world, how, are, you]; arr2 = [hey, world, can, you, rotate];この場合、期待され

  3. JavaScriptで配列を均等に分割する関数の実装方法(reduce活用)

    配列をn個のサブ配列に分割するとは今回は、文字列や数値のリテラルを含む配列 arr を第一引数に、数値 n を第二引数として受け取る関数(例えば chunk())を作成する必要があります。この関数は、それぞれ最大 arr.length / n 個の要素を持つ n 個のサブ配列からなる配列を返します。要素の振り分けルール要素の分配は以下のように行われます。1番目の要素は1つ目のサブ配列へ、2番目の要素は2つ目のサブ配列へ…という具合に順番に振り分けていきます。すべてのサブ配列に1要素ずつ入ったら、再び最初のサブ配列に2つ目の要素を追加していきます。すべてのサブ配列が2要素になった後で初めて、3つ

  4. JavaScriptで配列内の重複要素を1つにまとめて合計する方法

    この記事では、重複した値を含む数値の配列を受け取り、同じ値が複数回出現した場合はそれらを1つのインデックスに合計して返すJavaScript関数を作成します。 例えば、次のような入力配列があるとします。 const input = [1, 3, 1, 3, 5, 7, 5, 4]; 期待される出力 const output = [2, 6, 10, 7, 4]; それぞれの値は以下のように計算されます。 「1」は2回出現するため → 1 × 2 = 2 「3」は2回出現するため → 3 × 2 = 6 「5」は2回出現するため → 5 × 2 = 10 「7」と「4」は1回しか出

  5. JavaScriptでlengthプロパティを使わずに配列の中央の要素を取得する方法

    本記事では、配列の length プロパティにアクセスせず、for や while といった組み込みのループ構文も一切使わずに、配列の中央にある要素を返す関数 midElement() をJavaScriptで実装します。求められる仕様は以下のとおりです。配列の要素数が奇数の場合:中央の1つの要素を返す配列の要素数が偶数の場合:中央に位置する2つの要素を配列として返す実装コードそれでは、この関数のコードを見ていきましょう。 {    if(arr[ind]){       return midElement(arr, ++ind);  

  6. JavaScriptの配列で、指定した数値より上または下の要素数をカウントする方法

    はじめにJavaScriptでは、配列内の各要素が特定の基準値より「下」なのか「以上」なのかを一括で判定し、それぞれの件数を数えたいケースがあります。本記事では、reduce() メソッドを活用したシンプルで効率的な実装方法を解説します。対象となるデータまず、次のような数値の配列を考えてみましょう。const array = [54,54,65,73,43,78,54,54,76,3,23,78];この配列に対して、指定した数値よりも小さい要素がいくつあるか、基準値以上の要素がいくつあるかをカウントする関数を作成します。たとえば基準値が 50 の場合、50未満の要素は 43・3・23 の 3つ

  7. JavaScriptで2つの配列の差分(共通しない要素)を取得する方法

    はじめにJavaScriptでは、2つの配列を比較して「片方にしか存在しない要素」(両方の配列に共通しない要素)を抽出したい場面があります。これは配列の差分(対称差)と呼ばれる処理です。例えば、次のような2つの数値配列があるとします。const arr1 = [12, 54, 2, 4, 6, 34, 3]; const arr2 = [54, 2, 5, 12, 4, 1, 3, 34];この2つの配列を受け取って、どちらか一方にのみ存在する要素を返す関数を作成してみましょう。実装例:forループとindexOfを使う方法まずは基本的なアプローチとして、forループとindexOfメソッドを

  8. JavaScriptで複数の配列の論理積(AND)を求める方法

    はじめにJavaScriptでは、真偽値を要素とする配列がネストした2次元配列を扱う場面があります。例えば、次のようなデータ構造です。const arr = [[true, false, false], [false, false, false], [false, false, true]];このような配列に対して、各サブ配列の同じ位置にある要素同士を論理積(&& 演算子)で結合し、結果を1つの1次元配列として返す関数を作成してみましょう。つまり、すべてのサブ配列の1番目の要素同士、2番目の要素同士…というように対応する位置ごとに true かどうかを判定し、その結果をまとめた

  9. JavaScriptで特定の数までの素数をすべて列挙する方法

    はじめに本記事では、数値 n を受け取り、n 以下に存在するすべての素数を配列として返すJavaScript関数の実装方法を解説します。素数判定のロジックと、それを活用した一括取得の手法を順を追って見ていきましょう。問題の概要例えば、入力された数値 n が 24 の場合、期待される出力は以下の通りです。const output = [2, 3, 5, 7, 11, 13, 17, 19, 23];このように、24以下の素数だけを抽出した配列が得られれば成功です。実装コード処理は大きく分けて2つの関数で構成します。isPrime関数: 引数の数値が素数かどうかを判定するヘルパー関数。2から nu

  10. JavaScriptで文字列の英数字のみを保持する|特殊文字をASCIIコードへ変換する方法

    文字列を扱うプログラムでは、特殊文字を取り除いたり別の形式へ変換したりしたい場面がよくあります。 本記事では、特殊文字を含む可能性のある文字列を引数として受け取り、英数字と半角スペース以外のすべての文字を、それぞれに対応するASCIIコード(10進数)に置き換えた新しい文字列を返すJavaScript関数を紹介します。 実装コード 以下がその関数のコードです。 { let res = ; for(let i = 0; i < str.length; i++){ // 数字・アルファベット・半角スペースはそのまま残す if(+str[i]

  11. JavaScriptで数値の各桁の積を求める方法(0は1として扱う再帰処理)

    JavaScriptで数値の各桁の積を求める方法 本記事では、引数として受け取った数値の全桁の積(掛け算の結果)を求めるJavaScript関数の実装方法を解説します。 ここでの重要なルールは、数値の中に「0」が含まれていた場合でも、その桁を「1」として扱って乗算するという点です。これは、0が含まれると結果が必ず0になってしまうためです。 具体例 例えば、次の数値が与えられたとします。 5720 この場合、「5 × 7 × 2 × 1」の計算が行われ、期待される出力は 70 となります。 コード例 この関数は、再帰処理を使うことで簡潔に実装できます。 { if(num){

  12. JavaScriptで文字列の各単語から最後の母音を削除する方法

    はじめにJavaScriptでは、文字列を受け取り、その中の各単語の最後に出現する母音(a・e・i・o・u)を削除した新しい文字列を返す関数を実装することが求められることがあります。例えば、次のような文字列が与えられたとします。const str = This is an example string;この場合、期待される出力は以下のとおりです。各単語から最後の母音が1つずつ取り除かれている点に注目してください。const output = Ths s n exampl strng;それでは、この機能を実現するコードを見ていきましょう。実装コード { return acc.co

  13. JavaScriptで文字列配列が1文字ずつ段階的に成長しているか判定する方法

    本記事では、長さが短い順(昇順)に並べられた文字列の配列を受け取るJavaScript関数を作成します。この関数は、隣り合うすべての文字列のペアについて、「後ろの文字列が、前の文字列の先頭または末尾に1文字追加することで生成できる」場合に true を返します。例えば、次のような配列が与えられたとしましょう。const arr = [c, ca, can, acan, acane, dacane];この場合、関数は true を返す必要があります。それでは、実際のコードを見ていきましょう。実装例コードは以下の通りです。const arr = [c, ca, can, acan, acane,

  14. JavaScriptで文字列内の重複(冗長)文字の数を数える方法

    本記事では、JavaScriptを使って文字列内に含まれる重複(冗長)文字の個数を求める関数の作成方法を解説します。ここでいう重複文字とは、同じ文字が2回以上出現した際の「繰り返し分」のことを指します。動作イメージたとえば、次のような文字列が与えられた場合を考えてみましょう。const str = abcde;この場合、すべての文字が一意であるため、出力は 0 となります。一方、次の文字列の場合:const str = aaacbfsc;「a」が3回、「c」が2回出現しているため、余分な文字は 3 個となり、これが出力されます。解決アプローチ:lastIndexOf() を活用するこの問題は、

  15. JavaScriptで数値の各で数値の各桁を昇順に並べ替える方法

    問題の概要数値の配列を受け取り、その中のすべての数値について、各桁の数字を内部で特定の順序(この記事では昇順とします)に並べ替えるJavaScript関数を作成する必要があります。たとえば、次のような配列があったとしましょう。const arr = [543, 65, 343, 75, 567, 878, 87];この場合、期待される出力は次のようになります。それぞれの数値の桁が昇順に並べ替えられている点に注目してください。const output = [345, 56, 334, 57, 567, 788, 78];実装コードそれでは、実際のコードを見ていきましょう。 { const

  16. JavaScriptで文字列の各文字にユニークな番号を割り当てた配列を作成する方法

    JavaScriptでは、文字列を受け取り、その各文字に対して0から始まる連番をマッピングする関数を求められることがあります。 具体的には、初めて出現する文字(重複していない文字)に出会うたびにカウントを1つ増やし、同じ文字が再び現れた場合は、その文字に対応する同じ番号を割り当てます。このような処理を行う関数の作り方を解説します。 問題の例 例えば、次のような文字列が与えられたとします。 const str = heeeyyyy; この場合、期待される出力は以下のようになります。 const output = [0, 1, 1, 1, 2, 2, 2, 2]; 最初の h には 0、続く3つの

  17. JavaScriptで文字列内の2番目に頻出する文字を見つける方法

    はじめに本記事では、文字列を引数として受け取り、その文字列の中で2番目に多く出現する文字を返すJavaScript関数を作成します。この問題は、以下の手順で解決できます。各文字の出現回数をオブジェクト(マップ)に記録する出現回数を配列に変換し、降順にソートするソート後の2番目の要素を取得して返す実装例実際のコードは次のとおりです。 { const map = {}; for(let i = 0; i b[1] - a[1]); return freqArr[1][0]; }; console.log(secondFrequent(str));出力結果コンソールには以下

  18. JavaScriptで2つの文字列を2文字ずつ交互に結合する方法

    2つの文字列を引数として受け取り、1つ目の文字列から2文字、次に2つ目の文字列から2文字、また1つ目、2つ目と交互に取り出して、新しい文字列を作成して返すJavaScript関数を書いてみましょう。例えば、次の2つの文字列が与えられた場合を考えてみます。const str1 = Hello world; const str2 = How are you btw;この場合、期待される出力は次のとおりです。const output = HeHollw o arwoe rlyodu btw;「He」「Ho」「ll」「w 」というように、各文字列から2文字ずつ順番に取り出しながら連結していくイメージで

  19. JavaScriptでパンデジタル数(Pandigital Number)を判定する方法

    本記事では、数字を表す文字列を引数として受け取り、その数がパンデジタル数であるかどうかを判定するJavaScript関数を実装します。パンデジタル数であれば true を、そうでなければ false を返します。 パンデジタル数とは? パンデジタル数とは、0から9までのすべての数字(0, 1, 2, 3, 4, 5, 6, 7, 8, 9)が少なくとも1回ずつ含まれている数のことです。そのため、パンデジタル数は必ず10桁以上になります。 例えば、「53657687691428890」はすべての数字を含んでいるためパンデジタル数ですが、「47458892414」は一部の数字が欠けているため該当し

  20. JavaScriptで配列の隣接する2要素ずつの合計を新しい配列として返す方法

    問題の概要本記事では、数値の配列を受け取り、元の配列の隣接する2つの要素をペアごとに合計した値からなる新しい配列を返すJavaScript関数の作成方法を解説します。例えば、入力配列が以下の場合を考えてみましょう。const arr = [3, 6, 3, 87, 3, 23, 2, 2, 6, 8];この場合、出力は次のようになります。const output = [9, 90, 26, 4, 14];(3 + 6)、(3 + 87)、(3 + 23)、(2 + 2)、(6 + 8) というように、配列の先頭から2要素ずつを1組のペアとして合計を求めています。サンプルコード実際のコードは以下

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:72/297  20-コンピューター/Page Goto:1 66 67 68 69 70 71 72 73 74 75 76 77 78