JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. JavaScriptで配列を四半期・年ごとにグループ化して平均を計算する方法

    問題の概要 たとえば、次のような数値の配列があるとします。 const arr = [1,2,2,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20]; この配列を受け取り、3要素ずつの「四半期」グループと12要素ずつの「年」グループに分割したうえで、各グループの平均値を計算して返すJavaScript関数を作成します。 上記の配列を分割すると、グループは次のようになります。 const quarterly = [[1,2,2],[4,5,6],[7,8,9],[10,11,12],[13,14,15],[16,17,18],[19,20]]; const

  2. JavaScriptで文字列をスネークケースに変換する方法

    スネークケース(snake case)とは、文字列中のスペースをアンダースコア「_」に置き換え、すべての単語を小文字でつなげて記述するスタイルです。たとえば「This is a simple sentence」は「this_is_a_simple_sentence」のように変換されます。変数名や定数の命名など、プログラミングでよく使われる記法の一つです。ここでは、文字列を受け取り、それをスネークケースに変換するJavaScript関数を実装します。実装例基本的な考え方はシンプルです。split( )で文字列を単語ごとに分割し、reduce()を使って各単語を小文字に変換した配列を作り、最後にj

  3. JavaScriptで配列内の順序が乱れた要素を検索・抽出する方法

    数値の配列が昇順に並んでいるはずなのに、一部の要素だけが本来の順序から外れてしまっている――そんなケースを想定してみましょう。本記事では、そのような配列を受け取り、順序が乱れている要素だけを集めた部分配列を返すJavaScript関数の実装方法をわかりやすく解説します。実装の考え方Array.prototype.filter()メソッドを使い、各要素を「次に期待される値」と比較することで、順序から外れた要素だけを抽出できます。filter()の第2引数(thisArg)にオブジェクトを渡すことで、コールバック関数内で比較用の状態を保持できるのがポイントです。サンプルコードコードは次のとおりです

  4. JavaScriptで配列の要素をuuidなどのプロパティ値ごとにグループ化する方法

    はじめにJavaScript開発では、オブジェクトの配列を特定のプロパティの値をもとにグループ化したい場面がよくあります。例えば、uuidが同じオブジェクト同士をひとつの配列にまとめ、結果を二次元配列として取得したいケースなどです。例として、次のようなオブジェクトの配列があるとします。const arr = [ {name: toto, uuid: 1111}, {name: tata, uuid: 2222}, {name: titi, uuid: 1111} ];ここで求められているのは、uuidプロパティの値が同じオブジェクト同士を、それぞれ独立した配列に分割する関数を書くこ

  5. JavaScriptで小数の文字列配列を整数の文字列配列に変換する方法

    JavaScriptでは、「1.00」「-2.5」のように小数を含む文字列が格納された配列を受け取り、それぞれの値から小数部分を除いた整数の文字列を要素とする新しい配列を返す関数を実装したいケースがあります。たとえば、次のような入力が与えられた場合を見てみましょう。const input = [1.00, -2.5, 5.33333, 8.984563];このとき、期待される出力は以下のようになります。const output = [1, -2, 5, 8];実装方法もっともシンプルなのは、組み込み関数の parseInt() を使う方法です。parseInt() は文字列を解析し、先頭にある

  6. JavaScriptのmap()とreduce()を使ってネストした配列をオブジェクトの配列に変換する方法

    はじめに JavaScriptでは、map()とreduce()を組み合わせることで、配列の中に配列が入ったネスト構造のデータを、扱いやすいオブジェクトの配列へと簡潔に変換できます。本記事では、具体的なサンプルコードとともにその手順を解説します。 まず、次のような「配列の中に配列が入った」データがあると仮定します。 const arr = [ [ [juice, apple], [maker, motts], [price, 12] ], [ [juice, orange], [maker, sunkist], [price, 11]

  7. JavaScriptで一桁になるまで数値の各桁を再帰的に加算する方法

    本記事では、与えられた数値の各桁を合計し、その結果が一桁になるまで再帰的に同じ操作を繰り返すJavaScript関数の実装方法を解説します。たとえば、数値が 54563 の場合、出力は 5 になります。計算の流れは次のとおりです。= 5 + 4 + 5 + 6 + 3 = 23 = 2 + 3 = 5コード例実際のコードは以下のとおりです。const num = 54563; // 一桁になるまで各桁を再帰的に加算する関数 const addRecursively = num => {   if(num < 10){    &nb

  8. JavaScriptで配列が昇順・降順・未ソートのどれかを判定する方法

    はじめにJavaScriptでは、数値の配列を受け取り、その要素が昇順(増加順)、降順(減少順)、あるいは特定の順序なし(未ソート)のどれに該当するかを判定する関数を作成できます。本記事では、そのような判定を行う関数の実装方法と、コードの動作原理について詳しく解説します。求められる仕様今回作成する関数は、以下の条件を満たす必要があります。数値の配列を引数として受け取る要素が増加傾向なら「ascending」を返す要素が減少傾向なら「descending」を返す順序に一貫性がない場合は「unsorted」を返す配列の要素が1つ以下の場合は「not enough items」(要素が不足しています

  9. 【JavaScript入門】文字列内の各単語を逆順に反転させる方法

    はじめに JavaScriptでは、文字列を受け取り、その文字列に含まれるすべての単語をそれぞれ逆順に並べ替えた新しい文字列を返す関数を作成できます。本記事では、split()・map()・reverse()・join() を組み合わせたシンプルで分かりやすい実装方法を紹介します。 処理内容の例 例えば、次のような文字列が与えられたとします。 const str = this is a sample string; この場合、期待される出力は以下のとおりです。 const output = siht si a elpmas gnirts; ポイントは、単語の並び順(this → is → a

  10. JavaScriptで配列をN個の部分配列(チャンク)に分割する方法

    JavaScriptで配列をN個の部分配列(チャンク)に分割する方法JavaScriptでは、リテラルを格納した配列と数値nを受け取り、元の配列をn個の部分配列(チャンク)に分割した新しい配列を返す関数を実装したい場面があります。なお、nは必ず配列の長さ以下であると仮定します。入力例たとえば、入力配列が以下の場合を考えてみましょう。const arr = [1,2,3,4,5,6,7,8,9,10];const n = 3;期待される出力この場合、出力は次のようになります。const output = [[1,2,3],[4,5,6],[7,8,9,10]];実装コードこの処理を実現するコード

  11. JavaScriptで配列からnull値だけを除外する方法

    はじめにJavaScriptでは、undefined、false、0などの偽値(falsyな値)が混在する配列の中から、nullだけを取り除きたいケースがあります。本記事では、元の配列を直接書き換える形(in place)で、null値のみを削除する関数の実装方法を解説します。要件の確認作成するのは、偽値を含む配列を受け取り、そこに存在するすべてのnull値だけを配列から取り除くJavaScript関数です。重要なのは、undefinedやfalseといった他の偽値はそのまま残すという点です。例えば、次のような入力配列があったとします。const arr = [12, 5, undefined

  12. JavaScriptで3回以上繰り返される要素を配列から削除する方法

    問題の概要リテラル値(数値や文字列など)が格納された配列を引数として受け取り、3個ずつまとめて削除できる要素(トリプレット)をすべて取り除いた新しい配列を返すJavaScript関数を作成してみましょう。たとえば、同じ値が3回含まれていればそれらはすべて削除され、4回含まれていれば1つだけ残ります。6回含まれていればすべて削除されます。つまり、各要素の出現回数を3で割った余りの分だけ要素を残すというのがポイントです。実装コード以下がその実装例です。 { if(val in acc){ acc[val]++; }else{

  13. 【JavaScript】数値の各桁を合計し、1桁になるまで再帰的に計算する方法

    本記事では、数値を受け取り、その各桁の合計が1桁になるまで再帰的に計算するJavaScript関数の作成方法を解説します。このような操作は「デジタルルート(デジタル根)」とも呼ばれます。 問題の概要 まず、目指す動作を確認しましょう。たとえば次のようなケースです。 findSum(12345) = 1+2+3+4+5 = 15 → 1+5 = 6 この場合、最終的な出力は 6 になります。15という2桁の数に対してもう一度各桁の合計を求めることで、1桁の数に圧縮できているのがポイントです。 findSum() 関数の実装 それでは、再帰を使ってこの処理を実装してみましょう。 {

  14. JavaScriptで配列を累積和(部分和)の配列に変換する方法

    JavaScriptでは、数値の配列を受け取り、累積和(部分和)からなる同じ長さの新しい配列を返す処理が必要になることがあります。この記事では、その実装方法をわかりやすく解説します。累積和(部分和)とはまず、次のような数値の配列を例に考えてみましょう。const arr = [1, 1, 5, 2, -4, 6, 10];この配列に対して、「各要素が、その位置までのすべての要素の合計」となる新しい配列を作成します。つまり、出力は次のようになります。const output = [1, 2, 7, 9, 5, 11, 21];それぞれの要素を見てみると、以下のように計算されていることがわかります

  15. JavaScriptで文字列をアルファベットの逆順にソートする方法

    はじめに今回は、小文字のみで構成された文字列を受け取り、通常とは逆の順序、つまり「b」が「a」よりも先に、「c」が「b」よりも先に来るように並べ替えるJavaScript関数を作成します。実行例たとえば、入力文字列が次のようになっているとします。const str = hello;この場合、期待される出力は以下の通りです。const output = ollhe;コード例const string = hello; const sorter = (a, b) => {     const legend = [-1, 0, 1];  &nbs

  16. JavaScriptで合計がnとなる連続する3つの自然数を見つける方法

    問題の概要数値nを受け取り、その合計がnと等しくなるような3つの連続する自然数(小数・浮動小数点数ではなく整数)が存在するかどうかを判定するJavaScript関数を作成します。該当する数値が存在すればそれらを返し、存在しない場合はfalseを返します。解法の考え方連続する3つの自然数を x、x+1、x+2 とおくと、その合計は次のように表されます。x + (x + 1) + (x + 2) = 3x + 3この式から、合計nが3で割り切れる場合に限り、答えとなる3つの数値が存在することが分かります。さらに、連続する自然数の最小の組み合わせは 1 + 2 + 3 = 6 であるため、nが6未満

  17. JavaScriptでソート済み配列の最初の一意な要素を見つける方法

    この記事では、ソート済みの配列の中から「最初に一度だけ現れる要素」を見つけるJavaScript関数の実装方法を解説します。問題の概要たとえば、次のようなリテラルで構成されたソート済み配列があるとします。const arr = [2, 2, 3, 3, 3, 5, 5, 6, 7, 8, 9];ここで求められるのは、このような配列を受け取り、配列内で一度だけ出現する最初の数値を返すJavaScript関数を作成することです。もし該当する数値が配列に存在しない場合は、falseを返す必要があります。上記の配列の場合、期待される出力は 6 です。2、3、5はそれぞれ複数回出現しているため対象外とな

  18. JavaScriptで数値がフィボナッチ数列に含まれるか判定する方法

    JavaScriptでは、受け取った数値がフィボナッチ数列に含まれているかどうかを判定し、その結果をブール値(true / false)で返す関数を実装する必要がある場面は少なくありません。 コード例 実際のコードは以下のとおりです − const num = 89; const isFib = query => {    // 0 と 1 は定義上フィボナッチ数    if(query === 0 || query === 1){       return tru

  19. JavaScriptで配列内の重複しない要素の合計を求める方法

    問題の概要まず、次のような数値の配列を想定してみましょう。const arr = [1, 5, 2, 1, 2, 3, 4, 5, 7, 8, 7, 1];この配列を受け取り、重複を除外した個別の要素(ユニークな値)の合計を計算するJavaScript関数を作成します。上記の配列の場合、重複を除いた要素は「1, 5, 2, 3, 4, 7, 8」となるため、出力は次のようになります。30実装コードこの問題を解くコードは以下のとおりです。const arr = [1, 5, 2, 1, 2, 3, 4, 5, 7, 8, 7, 1]; const distinctSum = arr =>

  20. JavaScriptで文字列内の文字数が奇数の単語を反転させる方法

    本記事では、文字列を受け取り、その中から文字数が奇数である単語だけを反転(逆順)にして返すJavaScript関数の作成方法を解説します。 ここでいう「単語」とは、文字列内で両側がスペースに囲まれている部分、あるいは文字列の先頭・末尾に位置し、片側のみスペースで区切られている部分文字列を指します。 サンプルコード 実際のコードは以下の通りです。 { if(isOdd(val)){ acc.push(val.split().reverse().join()); return acc; }; acc.

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:79/297  20-コンピューター/Page Goto:1 73 74 75 76 77 78 79 80 81 82 83 84 85