Дан массив JavaScript: [Natasha, Device, Auto, ...................]
Нужна сумма порядковых номеров букв алфавита, пример (ABCM: 1 + 2 + 3 +13 = 19)
Мой код:
const nameArr = ['mary']; // 13 + 1 + 18 + 25 = 57
const alphabet= {
'a': 1, 'b': 2, 'c': 3, 'd': 4, 'e': 5, 'f': 6, 'g': 7, 'h': 8, 'i': 9,
'j': 10, 'k': 11, 'l': 12, 'm': 13, 'n': 14, 'o': 15, 'p': 16, 'q': 17, 'r': 18,
's': 19, 't': 20, 'u': 21, 'v': 22, 'w': 23, 'x': 24, 'y': 25, 'z': 26
};
Не уверен, что понимаю, при чём здесь упомянутый в начале массив. Но если нужна функция пересчёта строки в сумму порядковых номеров букв по алфавиту и если ожидается только базовая латиница, можно так:
'use strict';
function getAlphabetSum(str) {
return [...str].map(char => char.toLowerCase().charCodeAt(0) - 96)
.reduce((acc, num) => acc + num);
}
console.log(getAlphabetSum('ABcd')); // 1 + 2 + 3 + 4 = 10
Немного поиграюсь, пожалуй - всего 47 символов на преобразование строки в сумму:
console.log(["Natasha","Device","Auto","ABCM"].map(
s=>eval(s.replace(/./g,'+parseInt("$&",36)-9'))
))
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости