プログラミング初学者のための実務につながる練習問題 JavaScript003 性別パラメータ変換処理の仕様変更 その2

2020年5月19日

今日のタスク

前回のタスク http://tamiblog.xyz/2020/05/16/post-557/ の後にさらに仕様変更が発生したので対応してください。

仕様変更

  • 文字列 Male もしくは 男 の場合は、Mを返す
  • 文字列 Female もしくは 女 の場合は、Fを返す
  • 文字列 Unknown もしくは 不明 の場合は、Uを返す
  • それ以外は空文字を返す

実装例

パターン1。

const convertGender = gender => {
  if(gender === 'Male' || gender === '男') {
    return 'M'
  } else if (gender === 'Female' || gender === '女') {
    return 'F'
  } else if (gender === 'Unknown' || gender === '不明') {
    return 'U'
  } else {
    return ''
  }
}

パターン2。

const convertGender = gender => {
  let result = ''

  if(gender === 'Male' || gender === '男') {
    result = 'M'
  } else if (gender === 'Female' || gender === '女') {
    result = 'F'
  } else if (gender === 'Unknown' || gender === '不明') {
    result = 'U'
  }

  return result
}

三項演算子。

convertGender = gender => {
  return gender === 'Male'|| gender === '男'
    ? 'M' : gender === 'Female'|| gender === '女'
      ? 'F' : gender === 'Unknown' || gender === '不明'
        ? 'U'
        : ''
}

switch。

convertGender = gender => {
  switch(gender) {
    case 'Male':
    case '男':
      return 'M'
    case 'Female':
    case '女':
      return 'F'
    case 'Unknown':
    case '不明':
      return 'U'
    default:
      return ''
  }
}