Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript에서 단어를 얻기 위해 눌린 숫자 찾기(전화번호 숫자 문제의 반대)

<시간/>

예전 키패드형 전화기에서 숫자를 알파벳으로 매핑하는 방식은 이랬습니다 -

상수 매핑 ={ 1:[], 2:['a', 'b', 'c'], 3:['d', 'e', ​​'f'], 4:['g' , 'h', 'i'], 5:['j', 'k', 'l'], 6:['m', 'n', 'o'], 7:['p', ' q', 'r', 's'], 8:['t', 'u', 'v'], 9:['w', 'x', 'y', 'z']}; 

알파벳 문자열을 받아 해당 문자열을 입력하기 위해 누른 숫자 조합을 반환하는 JavaScript 함수를 작성해야 합니다.

예를 들어 -

알파벳 문자열이 -

인 경우
 const str ='미친';

그런 다음 출력 번호는 -

여야 합니다.
상수 출력 =[6, 2, 3];

예시

이에 대한 코드는 -

상수 매핑 ={ 1:[], 2:['a', 'b', 'c'], 3:['d', 'e', ​​'f'], 4:['g' , 'h', 'i'], 5:['j', 'k', 'l'], 6:['m', 'n', 'o'], 7:['p', ' q', 'acc', 's'], 8:['t', 'u', 'v'], 9:['w', 'x', 'y', 'z']}; const convertToNumeral =(str ='') => { const 항목 =Object.entries(mapping); const res =entries.reduce((acc, [v, letters]) => { letters.forEach(l => acc[l] =+v); 반환 acc; }, {}); const 결과 =Array.from(str, (el) => { 반환 res[el]; }); 반환 결과;};console.log(convertToNumeral('mad'))

출력

콘솔의 출력은 -

[ 6, 2, 3 ]