假设以下数字名称字符串-
const str = 'TOWNE';
如果重新排列此字符串,我们可以在其中找到两个数字名称2(TWO)和1(ONE)。
因此,我们预期输出为21
我们需要编写一个JavaScript函数,该函数接受一个这样的字符串并返回字符串中存在的数字。
以下是代码-
const str = 'TOWNE'; const findNumber = (str = '') => { function stringPermutations(str) { const res = []; if (str.length == 1) return [str]; if (str.length == 2) return [str, str[1]+str[0]]; str.split('').forEach((chr, ind, arr) => { let sub = [].concat(arr); sub.splice(ind, 1); stringPermutations(sub.join('')).forEach(function (perm) { res.push(chr+perm); }); }); return res; } const legend = { 'ONE': 1, 'TWO': 2, 'THREE': 3, 'FOUR': 4, 'FIVE': 5, 'SIX': 6, 'SEVEN': 7, 'EIGHT': 8, 'NINE': 9, 'ZERO': 0 }; const keys = Object.keys(legend); const res = {}; const resArr = []; let result = ''; keys.forEach(key => { const match = stringPermutations(key).find(el => el.split('').every(char => str.includes(char))); if(match){ const index = str.indexOf(match[0]); if(!res.hasOwnProperty(key)){ res[key] = [index]; }else if(!res[key].includes(index)){ res[key].push(index); }; }; }); Object.keys(res).forEach(word => { resArr.push([word, ...res[word]]); }); resArr.sort((a, b) => a[1] - b[1]); resArr.forEach(sub => { result = result + String(legend[sub[0]]).repeat(sub.length - 1); }); return +result; }; console.log(findNumber(str));输出结果
以下是控制台输出-
21
下面是我的网站地图的结构: somefile.xml 以下是谷歌的错误信息: 我想我错过了什么,网上的信息很混乱。正确的语法是什么?如果你能帮忙,谢谢。
问题内容: 我有一个带有列()的表。在这个专栏中,我存储值一样。 但是我必须出示月份 名称 。 例如:如果值是我需要显示。 问题答案: 基本上,@ small_duck已经发布了一些内容,但是进行了一些改进: 只需将文本强制转换为文本即可,无需。
我使用SVN来版本化源文件,使用maven发布插件来创建和标记发布。我的项目是一个多模块项目。 短篇小说 版本:prepare目标导致在我的SCM中同时标记trunk和tag。 长话短说 我的项目是一个多模块项目: SCM标记在我的项目父级POM bar/POM.xml中的配置如下: 当我跑步时: pom.xml中的SCM标记。标签已修改,但不例外: 如果我执行释放: 目录主干和标签在标签文件夹中
我可能有一个简单的编码问题,但我无法解决。我在MySQL数据库中有英文或中文的地址,所以我使用了utf8_unicode_ci。我从数据库中检索我的汉字没有问题,但我不能在准备好的请求中使用汉字。 我解释说:如果我打 我会得到一个结果,因为其中一个地址包含“”但如果我尝试使用一个准备好的请求: 如果$_post[“address”]在英文中有效,在中文中就不行了:p 编辑: 当请求show变量时,
问题内容: 我有这个: 我想要这个: 问题答案: 更新 正如其他人提到的那样,这不是最快也不推荐的解决方案。 您可以使用eval:
问题内容: 使用PDO时,我已经看到很多文章在命名参数前使用冒号(),还有一些不使用冒号的文章。我会尽快不使用冒号,只是因为它的按键少了一点,而且读起来也更容易一点。 这似乎对我来说很好,但是我很好奇在使用冒号时是否缺少一些重要的东西? 例如,这很好用: 与大多数使用此功能的开发人员相对,这也可以: 注意语句参数中的冒号。 我想了解冒号的用途。 问题答案: SQL语句中必须使用冒号,以指示哪些标识