我创建了包含键和值的Hashmap数组:
var rule =
{
"c": "d",
"a": "o",
"t": "g",
"h": "a",
"e": "n",
"n": "t",
}
现在,我想创建一个函数来检查上面的数组,它返回相应的值给给定的输入键。也就是说,假设我输入了"cat“,那么它必须根据hashmap值给出输出”狗“。
注意:这可以很容易地使用开关大小写,其中表达式的值与每种情况的值进行比较,如果匹配,我们返回输出。
但我正在寻找更可靠的方法,在这里,我们可以创建函数来检查上面的数组,它返回给定输入的键的相应值。即输入= cat,然后输出=狗
发布于 2018-11-24 21:59:10
您可以使用Array.map
实现这一点。
var rule =
{
"c": "d",
"a": "o",
"t": "g",
"h": "a",
"e": "n",
"n": "t",
}
function output(str) {
return [...str].map(d => rule[d]).join('')
}
console.log(output('cat'))
发布于 2018-11-24 21:59:16
下面的代码返回dog
。假设输入字符串的顺序并不重要。tac
将返回god
var rule =
{
"c": "d",
"a": "o",
"t": "g",
"h": "a",
"e": "n",
"n": "t",
};
const input = "cat";
let output = "";
for (let value of input) {
console.log(rule[value]);
output += rule[value];
}
console.log(output);
您必须处理那些不存在于散列中的键之类的边缘情况。
发布于 2018-11-24 22:03:32
您可以尝试以下功能:
function returnValue(){
var result = "";
for(var i=0;i<arguments.length;i++){
result+=rule[arguments[i]];
}
return result;
}
https://stackoverflow.com/questions/53465034
复制