const str = '234';// 2,3,4按键
// 按键从2开始才有字母
const a = {2: 'abc', 3: 'def', 4: 'ghi', 5: 'jkl', 6: 'mno',7: 'pqr', 8: 'stu', 9: 'vwxyz'
}
// 数组->拿到234按键的字母组成的数组->['abc', 'def', 'ghi']
let code = str.split('').map(ee => a[ee]);
// 使用递归->获取23数字代表的字母组合的数组后与4代表的字母ghi继续循环组合
let comb = (arr) => {let temp = []for (let i in arr[0]) {for (let j in arr[1]) {temp.push(`${arr[0][i]}${arr[1][j]}`)}}arr.splice(0, 2, temp)if (arr.length > 1) {comb(arr)} else {return temp}return arr[0]
}console.log(comb(code))
//adg,adh,adi,aeg,aeh,aei,afg,afh,afi,bdg,bdh,bdi,beg,beh,bei,bfg,bfh,bfi,cdg,cdh,cdi,ceg,ceh,cei,cfg,cfh,cfi

JavaScript--九宫格输入法字母组合算法相关推荐

  1. 九宫格输入法-字符串处理方法

    之前做过九宫格输入法的题目 搜了一下网上的解法没找到高效的解法 写一个相对高效的解法 先放上原题 假设有九宫格输入法键盘布局如下:[ 1,.?! ] [ 2ABC ] [ 3DEF ][ 4GHI ] ...

  2. Javascript的数据结构与算法(一)

    1数组 1.1方法列表 数组的常用方法如下: concat: 链接两个或者更多数据,并返回结果. every: 对数组中的每一项运行给定的函数,如果该函数对每一项都返回true,则返回true. fi ...

  3. JavaScript 面试中常见算法问题详解

    JavaScript 面试中常见算法问题详解,翻译自 https://github.com/kennymkchan/interview-questions-in-javascript.下文提到的很多问 ...

  4. 曼哈顿距离java实现_基于javascript实现获取最短路径算法代码实例

    这篇文章主要介绍了基于javascript实现获取最短路径算法代码实例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 代码如下 //A算法 自动寻路 ...

  5. JavaScript实现hammingDistance汉明距离算法(附完整源码)

    JavaScript实现hammingDistance汉明距离算法(附完整源码) hammingDistance.js完整源代码 hammingDistance.js完整源代码 export defa ...

  6. JavaScript实现RadixSort基数排序算法(附完整源码)

    JavaScript实现RadixSort基数排序算法(附完整源码) Comparator.js完整源代码 Sort.js完整源代码 RadixSort.js完整源代码 Comparator.js完整 ...

  7. JavaScript实现QuickSort快速排序算法(附完整源码)

    JavaScript实现QuickSort快速排序算法(附完整源码) Comparator.js完整源代码 Sort.js完整源代码 QuickSort .js完整源代码 Comparator.js完 ...

  8. JavaScript实现MergeSort归并排序算法(附完整源码)

    JavaScript实现MergeSort归并排序算法(附完整源码) Comparator.js完整源代码 Sort.js完整源代码 MergeSort.js完整源代码 Comparator.js完整 ...

  9. JavaScript实现InsertionSort插入排序算法(附完整源码)

    JavaScript实现InsertionSort插入排序算法(附完整源码) Comparator.js完整源代码 Sort.js完整源代码 InsertionSort.js完整源代码 Compara ...

最新文章

  1. liunx复制备份命令,copy命令,liunx命令
  2. 注解 @Scheduled
  3. 为什么每个程序员都要学C语言的五个理由
  4. 微信小程序使用高德地图API获取准确定位地址描述
  5. Python 中的 sys 库 和 os 库
  6. oracle_监听器无法启动的问题
  7. python中的线程threading.Thread()使用
  8. [翻译] 聚集索引表 VS 堆表
  9. Git分支命令学习使用
  10. [ActionScript 3.0] AS3中的位图(BitmapData)应用
  11. Windows下安装Redmine
  12. linux gdb检查函数栈,Linux - gdb调试
  13. swift实例教程_Swift示例教程基础
  14. Android 屏幕适配方案
  15. 值得收藏:一份非常完整的MySQL规范
  16. PX4模块设计之十二:High Resolution Timer设计
  17. 长差分:LongDifference及AcemogluAER论文推介
  18. 一文看懂互联网支付系统架构
  19. 基于双目视觉的非标机械臂的空间定位流程(未完待续)
  20. 传奇人物《周兴和》书连载30 成功背后的陷阱

热门文章

  1. Linux系统重启pxe服务,Linux pxe服务
  2. 对双绞线8芯线的学习
  3. 这4点原因你知道吗?新手做自媒体,有高播放量却没有收益?
  4. 送给29班同学们的话
  5. Tribon 软件操作 概念(1)
  6. Tribonnbsp;M3自定义工具栏出错处理经…
  7. python打印转义字符_Python print用法和转义符
  8. 最小路径之佛洛依德算法
  9. 关于数字电路与模拟电路隔离
  10. MBE实验平台搭建及Radare2使用介绍