teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

改訂

2018/10/24 12:03

投稿

papinianus
papinianus

スコア12705

answer CHANGED
@@ -6,12 +6,15 @@
6
6
  Logger.log(divisionsEx("カスタマー")); // ""
7
7
  Logger.log(divisionsEx("事務企画")); //"事務・オフィス系"
8
8
  Logger.log(divisionsEx("経営経理")); //"販売・営業・飲食・サービス系"
9
+ Logger.log(divisionsEx("経理事務企画")); //"事務・オフィス系"
9
10
  }
10
11
  function divisionsEx(div) {
11
- const CATEGORY = ["事務・オフィス系","販売・営業・飲食・サービス系","IT・エンジニア系","WEB・クリエイター系","医療・介護・研究・教育系","工場・軽作業・物流・土木系"]
12
+ const CATEGORY = ["事務・オフィス系","販売・営業・飲食・サービス系","IT・エンジニア系","WEB・クリエイター系","医療・介護・研究・教育系","工場・軽作業・物流・土木系", "6"]
12
13
  const DIVISIONS = {"事務":0,"コールセンター":0,"経理":1,"会計":1,"財務":1,"総務":1,"人事":1,"法務":2,"受付":2,"秘書":2,"広報":3,"宣伝":3,"IR":3,"オペレーター":4,"マーケティング":5,"企画":6,"管理":6}
13
- const key = Object.keys(DIVISIONS).filter(function(element) {return div.indexOf(element) > -1;});
14
- if(key === undefined || key.length === 0) { return ""; }
15
- return CATEGORY[DIVISIONS[key[0]]];
14
+ const keys = Object.keys(DIVISIONS).filter(function(element) {return div.indexOf(element) > -1;}).map(function(element){ return DIVISIONS[element];}).filter(function(element, index, array){ return array.indexOf(element) === index;}).slice().sort(function(a, b){return a - b;});
15
+ if(keys.length === 0) {return "";}
16
+ return CATEGORY[keys[0]]; //CATEGORYの前ほど優先度が高いと考えた場合
17
+ // return CATEGORY[keys[keys.length - 1]]; //CATEGORYの後ろほど優先度が高いと考えた場合
18
+ // return keys.map(function(element){return CATEGORY[element];}).join(", "); //"事務・オフィス系, 販売・営業・飲食・サービス系, 6"と全ての候補を連結して出力する場合
16
19
  }
17
20
  ```