Вы можете использовать map , но тогда вход должен быть массивом, и вы можете использовать split
для этого. В конце мы снова возвращаем его в строку с join
:
var hindi = ['٠','١','٢','٣','٤','٥','٦','٧','٨','٩'];
var arabic = [0,1,2,3,4,5,6,7,8,9];
function translate(input) {
var array = input.split('');
array.map(function(value, i, array) {
if (hindi.indexOf(array[i]) >= 0) {
array[i] = arabic[hindi.indexOf(array[i])];
}
});
return array.join('');
}
// Example of input
console.log(translate('١٠٠')); // 100
Теперь вы можете использовать функцию преобразования для вызова:
var hindi = ['٠','١','٢','٣','٤','٥','٦','٧','٨','٩'];
var arabic = [0,1,2,3,4,5,6,7,8,9];
function translate(input) {
var array = input.split('');
array.map(function(value, i, array) {
if (hindi.indexOf(array[i]) >= 0) {
array[i] = arabic[hindi.indexOf(array[i])];
}
});
return array.join('');
}
function convert(event) {
var barcode = document.getElementById("barCode");
var val = barcode.value;
barcode.value = translate(val);
}
<input type="text" id="barCode" onkeyup="convert(event)">
Кроме того, вы можете видеть, как он работает в этом codepen .