Nai*_*ani 5 javascript arrays object
我想要实现的是从给定的输入数字中获取字母组合.例如.如果我输入111,输出应该是['AAA','KA','AK'].如果输入为1111,则输出应为['AAAA','KAA','AKA','AAK','KK'].部分工作代码如下,我得到['K','K']输入111:
<html>
<head>
<h1>Javascript</h1>
</head>
<body>
<script>
var dataset =
{A:'1',B:'2',C:'3',D:'4',E:'5',F:'6',G:'7',H:'8',I:'9',
J:'10',K:'11',L:'12',M:'13',N:'14',O:'15',P:'16',Q:'17',R:'18',
S:'19',T:'20',U:'21',V:'22',W:'23',X:'24',Y:'25',Z:'26'};
var arr = [];
var z;
var result = [];
var find = function(input){
for(var key in dataset) {
if(dataset[key] === input) {
return key;
}
}
}
var foo = function(x){
z = x.toString();
for(var i=0;i<z.length;i++){
arr.push(z.charAt(i));
}
for(var i=0;i<arr.length;i++){
if(arr[i]+arr[i+1] <= 26){
var returnedkey = find(arr[i]+arr[i+1]);
result.push(returnedkey);
}
}
}
foo(111);
console.log(arr);
console.log(result);
</script>
</body>
Run Code Online (Sandbox Code Playgroud)
我很困惑如何进一步,哪个是正确的方法,提前谢谢!
该提案使用对象进行查找并使用递归来迭代字符串。
getCombination('1111')调用的示例c()如果可能的话,首先迭代单个字符,然后迭代两个字符。
Run Code Online (Sandbox Code Playgroud)left right letter result ---- ----- ------ ----- 1111 one 111 A one 11 AA one 1 AAA one AAAA one AAAA 11 AA one AAK two AAK 111 A one 1 AK two AKA one AKA 11 K two 1 KA one KAA one KAA 11 K two KK two KK
left right letter result
---- ----- ------ -----
1111 one
111 A one
11 AA one
1 AAA one
AAAA one AAAA
11 AA one
AAK two AAK
111 A one
1 AK two
AKA one AKA
11 K two
1 KA one
KAA one KAA
11 K two
KK two KK
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
86 次 |
| 最近记录: |