JavaScript

 Computer >> コンピューター >  >> プログラミング >> JavaScript
  1. 【JavaScript】配列の中から指定した数値に最も近い値を取得する方法

    JavaScriptでは、数値の配列と1つの数値を入力として受け取り、その配列内に存在する値のうち、指定した数値に最も近い値を返す関数が必要になることがあります。 例えば、次のようなケースを考えてみましょう。 closest([45,61,53,98,54,12,69,21], 67); // 69 closest([45,61,53,98,54,12,69,21], 64); // 61 それでは、この機能を実装するコードを見ていきましょう。 実装のアプローチ ここでは Array.prototype.reduce() メソッドを使用します。reduceメソッドを使って各要素と対象の数値との

  2. JavaScriptで2つのオブジェクト間の値が異なる最初のプロパティを取得する方法

    開発現場では、ほとんどのキーと値のペアが同一でありながら、一部のキーだけ値が異なる2つのオブジェクトを比較したい場面がよくあります。本記事では、2つのオブジェクトを引数として受け取り、値が異なる最初のキーを返す関数の実装方法を解説します。すべてのキーの値が完全に一致する場合は、-1を返す仕様とします。 サンプルデータ まず、比較対象となる2つのオブジェクトを用意します。 const obj1 = { name: Rahul Sharma, id: 12342fe4554ggf, isEmployed: true, age: 45, salary: 190

  3. 【JavaScript】数値をアルファベットに変換する方法を解説

    本記事では、1から26までの整数を受け取り、それに対応する英大文字のアルファベットを返す関数をJavaScriptで実装する方法を解説します。範囲外の数値が渡された場合は -1 を返す仕様とします。たとえば、次のような動作を目指します。toAlpha(3) = C toAlpha(18) = RASCIIコードとはASCIIコードとは、キーボード上に存在する文字や記号、数字などを数値として表現するための標準的な規格です。コンピュータ内部では、すべての文字がこのような数値(文字コード)として扱われています。英大文字のA〜ZもASCIIコード上で対応する数値が割り当てられており、Aは65、Bは66

  4. JavaScriptの配列から重複する要素を完全に削除する方法

    配列から重複値を完全に取り除く関数を作るJavaScriptでは、配列を受け取り、その中からすべての重複値を完全に除去した新しい配列を返す関数を作成できます。ここでいう「重複の完全な削除」とは、元の配列で2回以上登場した値は、たとえ1回でも新しい配列には含めない、という意味です。例えば、次のような入力があったとします。const arr = [23,545,43,232,32,43,23,43];この場合、期待される出力は以下の通りです。const output = [545, 232, 32];ご覧の通り、23と43は元の配列内で複数回出現しているため、結果からは完全に除外されています。in

  5. JavaScriptで文字列を分割して配列からオブジェクトへ変換する方法

    ここでは、「キー-値」の形式を持つ文字列の配列を扱います。各要素にはハイフン(-)が含まれており、その左側がキー、右側が値になっています。この配列内の文字列をすべて分割し、1つのオブジェクトとしてまとめるのが今回の目標です。まず、サンプルとなる配列を見てみましょう。const arr = [name-Rakesh, age-23, city-New Delhi, jobType-remote, language-English];それでは実際にコードを書いていきます。考え方はシンプルで、forEach()で配列をループ処理しながら、各文字列をsplit(-)で分割し、得られたキーと値を新しいオ

  6. JavaScriptで2つの配列の要素を交互にマージする方法

    この記事では、2つの配列を受け取り、それぞれの要素を交互に並べた新しい配列を返す処理をJavaScriptで実装する方法を解説します。 交互にマージする仕組み 例えば、次のような2つの配列があるとします。 const arr1 = [34, 21, 2, 56, 17]; const arr2 = [12, 86, 1, 54, 28]; これらの配列から「34 → 12 → 21 → 86 → ...」というように、arr1とarr2から順番に1つずつ要素を取り出して交互に並べた新しい配列を作成したい、というのが今回の目的です。 基本的な考え方はシンプルで、両方の配列を同時にループ処理しなが

  7. JavaScriptで配列内の最大値と最小値の差を求める方法

    本記事では、数値の配列を受け取り、その中の最大値と最小値の差(幅)を返す関数をJavaScriptで作成する方法を解説します。配列の準備まず、サンプルとして使用する数値の配列を作成します。const arr = [23,54,65,76,87,87,431,-6,22,4,-454];Math.max() と Math.min() で最大値・最小値を求める次に、Math.max() メソッドと Math.min() メソッドを使って、配列内の最大値と最小値をそれぞれ求めます。forEach() で配列を順番に走査し、最初の要素(index === 0)で最小値・最大値を初期化した後、残りの要素

  8. JavaScriptで最初のn個の自然数列に含まれる重複要素を見つける2つの方法

    1から始まる連続した自然数が格納された配列があるとします。ただし、そのうちの1つの要素が2回出現しているため、配列の長さは n+1 になっています。本記事では、この配列を受け取り、2回現れている数値を線形時間 O(n) で返す関数を、2つの異なるアプローチで作成していきます。 方法1:Array.prototype.reduce() を使う やや技巧的ではありますが、記述するコード量が最も少ないのがこの方法です。まずはコードを見てみましょう。 const arr = [1,4,8,5,6,7,9,2,3,7]; const duplicate = a => a.reduce((ac

  9. JavaScriptで曜日順にオブジェクトの配列を並べ替える方法

    ここでは、1週間7日分の湿度データを持つオブジェクトの配列を例に考えてみましょう。現状、このデータは配列内にランダムな順序で格納されています。そこで、月曜日のデータが最初、続いて火曜日・水曜日と続き、最後に日曜日が来るように、曜日の順番どおりに配列を並べ替える必要があります。今回使用するサンプルの配列は以下のとおりです。const weather = [{ day: Wednesday, humidity: 60 }, { day: Saturday, humidity: 50 }, { day: Thursday, humidity: 65 }

  10. JavaScriptで配列に存在する文字以外を、文字列内のすべての文字から置換する方法

    今回は、次のような関数を作成することを考えてみましょう。replaceChar(str, arr, [char])この関数は、文字列 str のうち、配列 arr に存在しないすべての文字を、省略可能な引数 char で置き換えます。char が指定されていない場合は、「*」に置き換える仕様です。関数の仕様str: 置換対象となる元の文字列arr: 残したい文字の一覧(文字の配列)char(省略可能): 置き換えに使用する文字。未指定の場合は「*」が使われます実装コードそれでは、実際のコードを見てみましょう。サンプルコード { return arr.includes(word)

  11. JavaScriptでnullやundefinedを含む配列の要素の合計を計算する方法

    ここでは、複数の配列を要素として持つ配列(ネストされた配列)を扱います。各サブ配列には数値に加えて、undefined や null の値が含まれているとします。 求められているのは、各サブ配列の要素の合計を計算し、その結果を新しい配列として作成することです。このとき、undefined と null の値は 0 として計算する必要があります。 サンプルデータ 以下のようなサンプル配列を想定します。 const arr = [     [12, 56, undefined, 5],     [undefined,

  12. 【JavaScript】数値と文字列が混在する配列を自然順ソートで並べ替える方法

    JavaScriptでは、数値と文字列が混在する配列を扱う場面があります。本記事では、数値を昇順で先頭に配置し、その後ろに文字列をアルファベット順で並べる「自然順ソート」の実装方法を解説します。例として、次のような配列があるとします。const arr = [1, fdf, afv, 6, 47, 7, svd, bdf, 9];この配列をソートすると、期待される結果は以下のとおりです。[1, 6, 7, 9, 47, afv, bdf, fdf, svd]実装コードポイントは、Array.prototype.sort() メソッドに独自の比較関数(比較コールバック)を渡すことです。要素同士の

  13. JavaScriptで指定した文字数を超えた空白位置にだけ改行を挿入する方法

    はじめに本記事では、2つの引数を受け取る関数 breakString() を作成します。第1引数には改行処理の対象となる文字列、第2引数にはしきい値となる文字数を渡します。この関数は、直前の改行からの文字数がしきい値を超えた状態で空白が出現したとき、その空白を改行コード(\n)に置き換えていくというものです。処理のイメージたとえば「4文字以上改行なしで経過したら、最も近い空白の位置で改行したい」場合は、次のように関数を呼び出します。const text = Hey can I call you by your name?;console.log(breakString(text, 4));期待

  14. ループ処理でJavaScript配列の全要素の出現頻度を取得する方法

    数値や文字列を含む配列が与えられ、その中に重複した要素が含まれている場合、各要素が配列内に出現する回数(頻度)を求めたいことがよくあります。このようなケースでは、「要素をキー」「出現回数を値」とするオブジェクトを返すのが最も適した形式です。 実装の流れはシンプルです。まず forEach() ループを使って配列を反復処理し、結果を格納するオブジェクト内に該当する要素のカウントがすでに存在すれば値を1つ増やし、まだ存在しなければ新しいプロパティを作成して1をセットします。 そして最後に、集計結果が入ったオブジェクトを返せば完成です。 この問題に対する完全なコードは以下の通りです。 サンプルコード

  15. JavaScriptで文字列の奇数・偶数インデックスの文字を大文字/小文字に変換する方法

    今回は、文字列を受け取り、偶数番目(インデックスが偶数)の文字は小文字へ、奇数番目(インデックスが奇数)の文字は大文字へ変換し、その結果を新しい文字列として返す関数を作成します。 サンプルコード この処理を実現する完全なコードは以下のとおりです。 const text = Hello world, it is so nice to be alive.; const changeCase = (str) => { const newStr = str .split() .map((word, index) => { if(index % 2 =

  16. 【JavaScript】オブジェクトの配列をプロパティの値ごとにグループ化して並べ替える方法

    JavaScriptでは、オブジェクトの配列を特定のプロパティの値に基づいてグループ化したい場面がよくあります。本記事では、Array.prototype.sort()メソッドを使って、同じ値を持つオブジェクト同士が隣り合うように並べ替える方法を解説します。 課題:車データの配列をタイプ別にまとめる まず、複数の車に関する情報を持つオブジェクトの配列を用意します。 const cars = [{     company: Honda,     type: SUV }, {    &

  17. JavaScriptでネストされたオブジェクトのキーを再帰的に検索・一覧表示する方法

    JavaScriptでは、プロパティの値としてさらにオブジェクトを持つような、2〜3階層、あるいはそれ以上に深くネストされたオブジェクトを扱うことがあります。以下はそのサンプルオブジェクトです。const people = { Ram: { fullName: Ram Kumar, details: { age: 31, isEmployed: true } }, Sourav: { fullName: Sourav Singh, detail

  18. JavaScriptでネストされた配列内のオブジェクトをキーごとにグループ化する方法

    ここでは、親配列(parentArray)の中に、それぞれ同じサイズの複数のサブ配列が格納されているケースを考えます。各サブ配列は、key と value という2つのプロパティを持つオブジェクトの配列です。同一のサブ配列内で同じキーを持つオブジェクトが重複することはなく、すべてのサブ配列は同じ n 個のキー(n はサブ配列のサイズ)で構成されているものとします。私たちの目的は、オブジェクトの key をプロパティ名とし、その値として「同じキーを持つすべての value を集めた配列」を持つようなオブジェクトを作成することです。サンプルデータ今回使用する親配列のサンプルは以下の通りです。con

  19. 【JavaScript】配列の配列の同じインデックス要素を合計して1つの配列にする方法

    配列の配列の同じインデックス要素を合計して1つの配列にする方法JavaScriptでは、配列の配列(2次元配列)を受け取り、各サブ配列の同じインデックス位置にある要素を合計した新しい配列を返す関数を作成する必要があるケースがあります。例えば、元の配列が以下のとおりだったとします。[ [43, 2, 21],[1, 2, 4, 54],[5, 84, 2],[11, 5, 3, 1] ]この場合、期待される出力は以下のとおりです。[60, 93, 30, 55]これは、各サブ配列の0番目の要素(43 + 1 + 5 + 11 = 60)、1番目の要素(2 + 2 + 84 + 5 = 9

  20. JavaScriptで数値の全桁を再帰的に合計して一桁にする方法

    はじめに数値を受け取り、その各桁の合計が一桁になるまで再帰的に計算し続ける関数を作成する必要があるとしましょう。例えば、次のように動作します。findSum(12345) = 1+2+3+4+5 = 15 = 1+5 = 6この場合の出力は 6 になります。それでは、この関数 findSum() の実装コードを見ていきましょう。コード例// 再帰を使用した実装const findSum = (num) => {    if(num < 10){        re

Total 5937 -コンピューター  FirstPage PreviousPage NextPage LastPage CurrentPage:124/297  20-コンピューター/Page Goto:1 118 119 120 121 122 123 124 125 126 127 128 129 130