JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで2つの配列を合計した新しい配列の値を255に制限する方法

それぞれ3つの要素を持つ2つの配列があると仮定しましょう。各要素は、赤・緑・青(RGB)のカラー値を表す整数です。

ここでの課題は、対応する要素同士を加算して新しいRGBカラーの配列を作成することです。さらに、合計値が255を超える場合は、その値を255に制限する必要があります。

そこで、2つの配列を引数として受け取り、入力に基づいた新しい配列を返す関数 addColors() を定義してみましょう。

コード例

const color1 = [45, 125, 216];
const color2 = [89, 180, 78];
const addColors = (color1, color2) => {
    const newColor = color1.map((val, index) => {
        return val + color2[index] <= 255 ? val + color2[index] : 255;
    })
    return newColor;
};
console.log(addColors(color1, color2));

実行結果

コンソールには次のように出力されます。

[ 134, 255, 255 ]

仕組みの解説

このコードでは、map() を使って最初の配列を走査し、2つ目の配列の対応する値を加算しています。三項演算子により、合計値が255以下であればその値をそのまま返し、255を超えていれば255を返すようになっています。

このように addColors() 関数を利用すれば、RGBカラー値の上限を守りながら、2つの色を簡単かつ安全に合成することができます。

  1. JavaScriptで配列の中から最大値を取得して返す方法

    本記事では、数値の配列を受け取り、その中から最大の要素を見つけ出して返すJavaScript関数の実装方法を解説します。関数は配列を先頭から順に走査し、要素同士を比較しながら最も大きい値を特定する仕組みです。サンプルコード実際のコードは以下のようになります。const arr = [5, 3, 20, 15, 7]; const findGreatest = (arr = []) => {    let greatest = -Infinity;    if(!arr?.length){       return nu

  2. JavaScriptでネストされた配列から最も短いサブ配列を取得する方法

    はじめに例えば、次のようなネストされた配列(配列の中に複数の配列が格納されている構造)があるとします。const arr = [     ["LEFT", "RIGHT", "RIGHT", "BOTTOM", "TOP"],     ["RIGHT", "LEFT", "TOP"],     ["TOP&q