この記事では『ヘルパー関数』について、以下の内容をサンプルコードを用いてわかりやすく解説します。
- ヘルパー関数とは
- ヘルパー関数のメリット
- JavaScriptとPythonのヘルパー関数
ヘルパー関数とは
ヘルパー関数は、よく使う処理をまとめて、いつでも呼び出せるようにした便利な関数です。ヘルパー関数を用いることで、コードを短縮したり、可読性を向上させたりすることができます。
ヘルパー関数のメリット
- 再利用性の向上
- ヘルパー関数を一度作成すれば、どこでも再利用できるため、同じような処理を何度も書く必要がなくなります。
- コードの可読性向上
- ヘルパー関数は、複雑な処理を簡潔な名前で表現できます。これにより、コードの意図がすぐに理解できるようになります。
- メンテナンス性の向上
- 問題が発生した場合、ヘルパー関数に修正を加えるだけで、すべての使用箇所に反映されます。
JavaScriptとPythonのヘルパー関数
ではこれからよく使われるシンプルなヘルパー関数をJavaScriptとPythonのコード例で説明します。
配列の最小値・最大値を取得するヘルパー関数
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
本記事のまとめ
この記事では『ヘルパー関数』について、以下の内容を説明しました。
- ヘルパー関数とは
- ヘルパー関数は、よく使う処理をまとめて、いつでも呼び出せるようにした便利な関数
- ヘルパー関数のメリット
- 再利用性の向上、コードの可読性向上、メンテナンス性の向上
お読み頂きありがとうございました。