Сумма порядковых номеров букв (ABCM: 1 + 2 + 3 +13 = 19)

145
27 августа 2019, 04:50

Дан массив 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
};
Answer 1

Не уверен, что понимаю, при чём здесь упомянутый в начале массив. Но если нужна функция пересчёта строки в сумму порядковых номеров букв по алфавиту и если ожидается только базовая латиница, можно так:

'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
Answer 2

Немного поиграюсь, пожалуй - всего 47 символов на преобразование строки в сумму:

console.log(["Natasha","Device","Auto","ABCM"].map( 
  s=>eval(s.replace(/./g,'+parseInt("$&",36)-9')) 
))

READ ALSO
Отправка base64 строки с сервера на клиент

Отправка base64 строки с сервера на клиент

Есть задачаНа странице есть input type file

145
Изограмма в Javascript [закрыт]

Изограмма в Javascript [закрыт]

Нужно написать функцию,которая определяет, изограмма ли данный текст (слово) или нет, то есть в нем повторяются буквы или нет

113
Вызвать подфункцию в js

Вызвать подфункцию в js

Есть js функция модального окна внутри, которого есть такие функции как открыть, закрыть модальное окноТеперь надо при нажатии на <button class="choose">ok</button>...

112
Angular- Кастомный элемент формы, не работает formControlName

Angular- Кастомный элемент формы, не работает formControlName

Написал собственный компонент с поддержкой ReactiveFormsКогда указываю свой компонент в template и использую formControl="form

122