parseFloat関数について

お世話になっております。

タイトルの件について、

「評価」というドロップダウンのフィールドがあり、選択肢に

大変満足、満足、どちらでもない、不満、大変不満と、5つあります。

これを、大変満足が5点、満足が4点、どちらでもないが3点、不満が2点、大変不満が1点として数字化し、平均点を求めたいと思っています。

現在、上記項目の選択肢を5点~1点として、下記のようなコードで

kintoneUtility.rest.getAllRecordsByQuery(param_average).then(function(resp) {
var score_array = $.map(resp.records, function(record, i){
return parseFloat(record.評価.value.slice(0, -1));
});
var score_ave = Math.round(average(score_array) * 10)/10;
$("#score_avarage").html("<table class='data_table'><tr><th>平均点</th></tr><tr><td>" + score_ave + " 点</td></tr></table>");
}).catch(function(error){
console.log(error.message);
});

parseFloat関数とsliceで対応しているのですが、

文字(※大変満足)を数字(5)として「record.評価.value」に代入する方法はありますでしょうか。

分かりにくい説明で申し訳ないのですが、ご教授いただければ

幸いでございます。ご確認お願い致します。

 

各レコードに入力する際に、数値化した値が自動登録されるようにしておけばよいのではないでしょうか。

 

ドロップダウンが選択されるたびに、フィールド値変更イベントで対応する数値を代入すれば、あとは集計するのも簡単です。

milkyway0307様

ご返信ありがとうございます。

実は、同じようなフィールドが複数あるので、数値化した値が自動登録用のフィールドの追加をせずに

出来れば良いなと思っています。

parseFloat関数でif分岐等で出来ないかもう少し調べてみます。

アドバイスありがとうございました。

 

Nao様

数値化させるところでお困りなのだとしたら

var Map={
'大変満足': 5,
'満足': 4,
'どちらでもない': 3,
'不満': 2,
'大変不満': 1}

とすれば、record.評価.valueに「大変満足」~「大変不満」が入っていたときに

Map[record.評価.value]

として数値化できるように思いますが、いかがでしょう?

milkyway0307様

ご返信ありがとうございます。

ご教授いただいたように設定し、無事数値化と集計が出来ました。

ありがとうございます。

今後ともよろしくお願いいたします。