/*
* 🔸 array.indexDictionaryForValues(values)
* return the index for each value (a dictionary object)
*
* @example
*
* let row = ["座號", "姓名", "國語文", "英語文"];
* row.indexDictionaryForValues(["座號", "姓名"]) // { '座號': 0, '姓名': 1 }
*/
Array.prototype.indexDictionaryForValues = function(values){
let dict = {};
for(const value of values){
const i = this.indexOf(value);
if(i < 0) throw new Error(`⛔ array.indexDictionaryForValues(): array doesn't have value "${value}"`);
dict[value] = i;
}
return dict;
};
let array = [12, 44, 22, 66, 222, 777, 22, 22, 22, 6, 77, 3];
let row = ["座號", "姓名", "國語文", "英語文"];
array.indexDictionaryForValues([777, 22]) // { '22': 2, '777': 5 }
row.indexDictionaryForValues(["座號", "姓名"]) // { '座號': 0, '姓名': 1 }
// row.indexDictionaryForValues(["沒這個值"]) // ⛔ Error