Файл encodeordecode.js
define([], function() {
// Кодирование и декодирование значения
// value - кодируемое или декодируемое значение
// decodeArray - массив, позволяющий соспоставить значение и его код
// decodeArray = [['value1', 'code1'], ['value2', 'code2']]
// operation - тип операции: кодирование 'encode' или декодирование 'decode'
// Пример
// encodeOrDecodeValue ('value', [['value1', 'code1'], ['value2', 'code2']], 'encode') // Возвращает: 'code1'
function encodeOrDecodeValue (value, decodeArray, operation) {
var decodeArrayLength = decodeArray.length
, result = ''
, i
, j
, k;
if (operation === 'encode') {
j = 0;
k = 1;
} else if (operation === 'decode') {
j = 1;
k = 0;
} else {
throw new Error('Parameter "operation" in "encodeOrDecodeValue" function must be "encode" or "decode".');
}
for (i = 0; i < decodeArrayLength; i++) {
if (value === decodeArray[i][j]) {
result = decodeArray[i][k];
}
}
return result;
}
return encodeOrDecodeValue;
});
Использование в файле index.js
require.config({
paths: {
encodeordecode: 'encodeordecode'
}
});
define(['encodeordecode'], function(encodeOrDecodeValue) {
encodeOrDecodeValue ('value', [['value1', 'code1'], ['value2', 'code2']], 'encode'); // code1
encodeOrDecodeValue ('code1', [['value1', 'code1'], ['value2', 'code2']], 'decode'); // value1
});
Комментариев нет:
Отправить комментарий