Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScriptで単語(電話番号の数字の問題の反対)を取得するために押された番号を検索します


古いキーパッドタイプの電話の数字からアルファベットへのマッピングは、以前は次のようでした-

const mapping = {
   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 = 'mad';

その場合、出力番号は-

になります。
const output = [6, 2, 3];

このためのコードは-

になります
const mapping = {
   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 entries = Object.entries(mapping);
   const res = entries.reduce((acc, [v, letters]) => {
      letters.forEach(l => acc[l] = +v);
      return acc;
   }, {});
   const result = Array.from(str, (el) => {
      return res[el];
   });
   return result;
};
console.log(convertToNumeral('mad'))

出力

そして、コンソールの出力は-

になります
[ 6, 2, 3 ]

  1. JavaScriptで3つの数字の最大の積を見つける

    数値の配列のみを受け取るJavaScript関数を作成する必要があります。関数は、配列の3つの要素の中で最大の積を生成する、そのような3つの要素の配列を配列から準備する必要があります。関数は最終的にこれら3つの要素の積を返す必要があります。 例- 入力配列が-の場合 const arr = [-10, 7, 29, 30, 5, -10, -70]; その場合、出力は-になります。 const output = 21000 3つの数字が30、-10、-70であるため 配列に負の要素が含まれる可能性があるか、含まれる可能性があることがわかります。したがって、このような場合、最大積はこ

  2. JavaScriptの数字の前の数字で割り切れる数字ですか

    問題 数値を受け取り、各桁が左側の桁で割り切れるかどうかをチェックし、ブール値の配列を返すJavaScript関数を作成する必要があります。 最初の数字の前に数字がないため、ブール値は常にfalseで始まる必要があります。 例 以下はコードです- const num = 73312; const divisibleByPrevious = (n = 1) => {    const str = n.toString();    const arr = [false];    for(let i = 1; i < st