回答編集履歴

1

改訂

2018/10/24 12:03

投稿

papinianus
papinianus

スコア12705

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