ヘルパー関数とは?JavaScriptとPythonのコード例を用いて解説!

この記事では『ヘルパー関数』について、以下の内容をサンプルコードを用いてわかりやすく解説します。

  • ヘルパー関数とは
  • ヘルパー関数のメリット
  • JavaScriptとPythonのヘルパー関数

ヘルパー関数とは

ヘルパー関数は、よく使う処理をまとめて、いつでも呼び出せるようにした便利な関数です。ヘルパー関数を用いることで、コードを短縮したり、可読性を向上させたりすることができます。

ヘルパー関数のメリット

  • 再利用性の向上
    • ヘルパー関数を一度作成すれば、どこでも再利用できるため、同じような処理を何度も書く必要がなくなります。
  • コードの可読性向上
    • ヘルパー関数は、複雑な処理を簡潔な名前で表現できます。これにより、コードの意図がすぐに理解できるようになります。
  • メンテナンス性の向上
    • 問題が発生した場合、ヘルパー関数に修正を加えるだけで、すべての使用箇所に反映されます。

JavaScriptとPythonのヘルパー関数

ではこれからよく使われるシンプルなヘルパー関数をJavaScriptPythonのコード例で説明します。

配列の最小値・最大値を取得するヘルパー関数

JavaScript

const getMin = arr => Math.min(...arr);
const getMax = arr => Math.max(...arr);

// 使用例
const numbers = [3, 7, 1, 9];
console.log(getMin(numbers)); // 1
console.log(getMax(numbers)); // 9

Python

def get_min(arr):
    return min(arr)

def get_max(arr):
    return max(arr)

# 使用例
numbers = [3, 7, 1, 9]
print(get_min(numbers))  # 1
print(get_max(numbers))  # 9

大文字・小文字を変換するヘルパー関数

JavaScript

const toUpperCase = str => str.toUpperCase();
const toLowerCase = str => str.toLowerCase();

// 使用例
console.log(toUpperCase('hello')); // "HELLO"
console.log(toLowerCase('WORLD')); // "world"

Python

def to_upper_case(s):
    return s.upper()

def to_lower_case(s):
    return s.lower()

# 使用例
print(to_upper_case('hello'))  # "HELLO"
print(to_lower_case('WORLD'))  # "world"

偶数かどうかをチェックするヘルパー関数

JavaScript

const isEven = num => num % 2 === 0;

// 使用例
console.log(isEven(4)); // true
console.log(isEven(5)); // false

Python

def is_even(num):
    return num % 2 == 0

# 使用例
print(is_even(4))  # True
print(is_even(5))  # False

数値が範囲内にあるかをチェックするヘルパー関数

JavaScript

const isInRange = (num, min, max) => num >= min && num <= max;

// 使用例
console.log(isInRange(5, 1, 10)); // true
console.log(isInRange(15, 1, 10)); // false

Python

def is_in_range(num, min_val, max_val):
    return min_val <= num <= max_val

# 使用例
print(is_in_range(5, 1, 10))  # True
print(is_in_range(15, 1, 10))  # False

配列の重複を排除するヘルパー関数

JavaScript

const removeDuplicates = arr => [...new Set(arr)];

// 使用例
const items = [1, 2, 2, 3, 4, 4];
console.log(removeDuplicates(items)); // [1, 2, 3, 4]

Python

def remove_duplicates(arr):
    return list(set(arr))

# 使用例
items = [1, 2, 2, 3, 4, 4]
print(remove_duplicates(items))  # [1, 2, 3, 4]

ランダムな整数を生成するヘルパー関数

JavaScript

const getRandomInt = (min, max) => Math.floor(Math.random() * (max - min + 1)) + min;

// 使用例
console.log(getRandomInt(1, 10)); // 1から10のランダムな整数

Python

import random

def get_random_int(min_val, max_val):
    return random.randint(min_val, max_val)

# 使用例
print(get_random_int(1, 10))  # 1から10のランダムな整数

文字列を反転するヘルパー関数

JavaScript

const reverseString = str => str.split('').reverse().join('');

// 使用例
console.log(reverseString('hello')); // "olleh"

Python

def reverse_string(s):
    return s[::-1]

# 使用例
print(reverse_string('hello'))  # "olleh"

配列をシャッフルするヘルパー関数

JavaScript

const shuffleArray = arr => arr.sort(() => Math.random() - 0.5);

// 使用例
const items = [1, 2, 3, 4, 5];
console.log(shuffleArray(items)); // ランダムな順序の配列

Python

import random

def shuffle_array(arr):
    random.shuffle(arr)
    return arr

# 使用例
items = [1, 2, 3, 4, 5]
print(shuffle_array(items))  # ランダムな順序の配列

指定された値が空かどうかをチェックするヘルパー関数

JavaScript

const isEmpty = value =>
  value == null || (typeof value === 'string' && value.trim() === '') || (Array.isArray(value) && value.length === 0);

// 使用例
console.log(isEmpty('')); // true
console.log(isEmpty([])); // true
console.log(isEmpty('Hello')); // false

Python

def is_empty(value):
    return value is None or (isinstance(value, str) and value.strip() == '') or (isinstance(value, list) and len(value) == 0)

# 使用例
print(is_empty(''))  # True
print(is_empty([]))  # True
print(is_empty('Hello'))  # False

本記事のまとめ

この記事では『ヘルパー関数』について、以下の内容を説明しました。

  • ヘルパー関数とは
    • ヘルパー関数は、よく使う処理をまとめて、いつでも呼び出せるようにした便利な関数
  • ヘルパー関数のメリット
    • 再利用性の向上、コードの可読性向上、メンテナンス性の向上

お読み頂きありがとうございました。