欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS實現(xiàn)電話號碼的字母組合算法示例

 更新時間:2019年02月26日 08:46:22   作者:gqj.cn  
這篇文章主要介紹了JS實現(xiàn)電話號碼的字母組合算法,結合實例形式分析了javascript組合運算的相關算法原理與操作技巧,需要的朋友可以參考下

本文實例講述了JS實現(xiàn)電話號碼的字母組合算法。分享給大家供大家參考,具體如下:

給定一個僅包含數(shù)字 2-9 的字符串,返回所有它能表示的字母組合。

給出數(shù)字到字母的映射如下(與電話按鍵相同)。注意 1 不對應任何字母。

示例:

輸入:"23"
輸出:["ad", "ae", "af", "bd", "be", "bf", "cd", "ce", "cf"].

說明:

盡管上面的答案是按字典序排列的,但是你可以任意選擇答案輸出的順序。

var letterCombinations = function(digits) {
  const mappings = {
    '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']
  };
  if (!digits || digits.length === 0) return [];
  if (digits.length === 1) {
    return mappings[digits];
  }
  let result = [];
  let set1 = letterCombinations(digits.substr(0, 1));
  let set2 = letterCombinations(digits.substr(1));
  for (let i = 0; i < set1.length; i++) {
    for (let j = 0; j < set2.length; j++) {
    result.push(set1[i] + set2[j]);
    }
  }
  return result;
  };
console.log(letterCombinations('23'))
var letterCombinations1 = function(digits) {
 var map = {
 "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"]
 };
 var rtn = map[digits[0]];
 digits = digits.substr(1);
 digits.split("").forEach(function(digit) {
 var t = [];
 map[digit].forEach(function(letter) {
  t = t.concat(rtn.map(function(item) {
  return item + letter;
  }));
 });
 rtn = t;
 });
 return rtn === undefined ? [] : rtn;
};
console.log(letterCombinations1('32'))

使用在線HTML/CSS/JavaScript代碼運行工具http://tools.jb51.net/code/HtmlJsRun測試上述代碼,可得如下運行結果:

更多關于JavaScript相關內(nèi)容感興趣的讀者可查看本站專題:《JavaScript數(shù)學運算用法總結》、《JavaScript數(shù)據(jù)結構與算法技巧總結》、《JavaScript數(shù)組操作技巧總結》、《JavaScript排序算法總結》、《JavaScript遍歷算法與技巧總結》、《JavaScript查找算法技巧總結》及《JavaScript錯誤與調(diào)試技巧總結

希望本文所述對大家JavaScript程序設計有所幫助。

相關文章

  • js布局實現(xiàn)單選按鈕控件

    js布局實現(xiàn)單選按鈕控件

    這篇文章主要為大家詳細介紹了js布局實現(xiàn)單選按鈕控件,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • javascript實現(xiàn)二叉樹的代碼

    javascript實現(xiàn)二叉樹的代碼

    本篇文章主要介紹了javascript實現(xiàn)二叉樹的代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-06-06
  • javascript模塊化簡單解析

    javascript模塊化簡單解析

    這篇文章主要針對javascript模塊化為大家進行簡單解析,如何寫一個模塊,在頁面中加載模塊的方法,感興趣的小伙伴們可以參考一下
    2016-04-04
  • 小程序分頁實踐之編寫可復用分頁組件

    小程序分頁實踐之編寫可復用分頁組件

    這篇文章主要介紹了小程序分頁實踐之編寫可復用分頁組件,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-07-07
  • javascript正則表達式中分組詳解

    javascript正則表達式中分組詳解

    這篇文章主要介紹了javascript正則表達式中分組的相關資料,包括捕獲性分組和非捕獲性分組,需要的朋友可以參考下
    2016-07-07
  • Quasar Input:type=

    Quasar Input:type="number" 去掉上下小箭頭 實現(xiàn)加減按鈕樣式功能

    這篇文章主要介紹了Quasar Input:type="number" 去掉上下小箭頭 實現(xiàn)加減按鈕樣式,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-04-04
  • js使用文件流下載csv文件的實現(xiàn)方法

    js使用文件流下載csv文件的實現(xiàn)方法

    這篇文章主要給大家介紹了關于js使用文件流下載csv文件的實現(xiàn)方法,文中通過示例代碼介紹的非常詳細,對大家學習或者使用js具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-07-07
  • javascript 判斷一個對象為數(shù)組的方法

    javascript 判斷一個對象為數(shù)組的方法

    這篇文章主要介紹了javascript 判斷一個對象為數(shù)組的方法的相關資料,需要的朋友可以參考下
    2017-05-05
  • 你知道JavaScript Symbol類型怎么用嗎

    你知道JavaScript Symbol類型怎么用嗎

    這篇文章主要介紹了你知道JavaScript Symbol類型怎么用嗎,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-01-01
  • JavaScript中for of和for in的區(qū)別詳解

    JavaScript中for of和for in的區(qū)別詳解

    對于初學者,我們或許只知道無論是for of還是for in他們都有一個功能那就是遍歷,至于具體的細節(jié)或許我們不是很清楚,那么接下來我們就來詳細的區(qū)分一下for of和for in他們之間的不同點和相同點,需要的朋友可以參考下
    2023-06-06

最新評論