Javascript 如何使用函数检查Hashmap的键和值,然后返回输出?
我使用键和值创建了Hashmap数组:Javascript 如何使用函数检查Hashmap的键和值,然后返回输出?,javascript,Javascript,我使用键和值创建了Hashmap数组: var rule = { "c": "d", "a": "o", "t": "g", "h": "a", "e": "n", "n": "t", } 现在我想创建一个函数来检查上面的数组,它返回给定输入的键的相应值。 i、 假设如果我给输入“cat”,那么它必须根据hashmap值给输出“dog” 注意:这可以通过使用switch case轻松实现,其中表达式的值与每个case的值进行比较,如果存在匹配,我们将返回输出 但
var rule =
{
"c": "d",
"a": "o",
"t": "g",
"h": "a",
"e": "n",
"n": "t",
}
现在我想创建一个函数来检查上面的数组,它返回给定输入的键的相应值。
i、 假设如果我给输入“cat”,那么它必须根据hashmap值给输出“dog”
注意:这可以通过使用switch case轻松实现,其中表达式的值与每个case的值进行比较,如果存在匹配,我们将返回输出
但我正在寻找更可靠的方法,在这里我们可以创建一个函数来检查上面的数组,该数组返回给定输入的键值。i、 e Input=cat然后Output=dog您可以使用
数组来实现这一点。map
var规则=
{
“c”:“d”,
“a”:“o”,
“t”:“g”,
“h”:“a”,
“e”:“n”,
“n”:“t”,
}
函数输出(str){
返回[…str].map(d=>rule[d]).join(“”)
}
console.log(output('cat'))
您可以使用Array.map
var规则=
{
“c”:“d”,
“a”:“o”,
“t”:“g”,
“h”:“a”,
“e”:“n”,
“n”:“t”,
}
函数输出(str){
返回[…str].map(d=>rule[d]).join(“”)
}
console.log(输出('cat'))
以下代码返回dog
。假设输入字符串的顺序无关紧要。e、 g.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);
您必须像处理散列中不存在的键一样处理边缘情况 以下代码返回
dog
。假设输入字符串的顺序无关紧要。e、 g.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);
您必须像处理散列中不存在的键一样处理边缘情况 您可以尝试以下功能:
function returnValue(){
var result = "";
for(var i=0;i<arguments.length;i++){
result+=rule[arguments[i]];
}
return result;
}
函数returnValue(){
var结果=”;
对于(var i=0;i您可以尝试以下函数:
function returnValue(){
var result = "";
for(var i=0;i<arguments.length;i++){
result+=rule[arguments[i]];
}
return result;
}
函数returnValue(){
var结果=”;
对于(var i=0;i创建一个函数,该函数接受obj并使用给定的键对其进行迭代:
var规则=
{
“c”:“d”,
“a”:“o”,
“t”:“g”,
“h”:“a”,
“e”:“n”,
“n”:“t”,
}
功能键(obj)
{
var值=[];
for(obj中的var键)
{
值。推送(obj[键]);
}
返回值;
}
console.log(key(rule));
创建一个函数,该函数接受obj并使用给定的键对其进行迭代:
var规则=
{
“c”:“d”,
“a”:“o”,
“t”:“g”,
“h”:“a”,
“e”:“n”,
“n”:“t”,
}
功能键(obj)
{
var值=[];
for(obj中的var键)
{
值。推送(obj[键]);
}
返回值;
}
console.log(key(rule));
如果要使用内联代码,可以使用Objec.key
var规则=
{
“c”:“d”,
“a”:“o”,
“t”:“g”,
“h”:“a”,
“e”:“n”,
“n”:“t”
};
变量输入='cat';
变量输出=对象。键(规则)。过滤器(x=>input.indexOf(x)!=-1)
.map(x=>rule[x]).join(“”);
console.log(输出);
如果要使用内联代码,可以使用Objec.keys
var规则=
{
“c”:“d”,
“a”:“o”,
“t”:“g”,
“h”:“a”,
“e”:“n”,
“n”:“t”
};
变量输入='cat';
变量输出=对象。键(规则)。过滤器(x=>input.indexOf(x)!=-1)
.map(x=>rule[x]).join(“”);
console.log(输出);
var规则=
{
“c”:“d”,
“a”:“o”,
“t”:“g”,
“h”:“a”,
“e”:“n”,
“n”:“t”
};
让输入='cat';
让output=input.split(“”).map(key=>rule[key]).join(“”);
log(`Result:${output}`);
var规则=
{
“c”:“d”,
“a”:“o”,
“t”:“g”,
“h”:“a”,
“e”:“n”,
“n”:“t”
};
让输入='cat';
让output=input.split(“”).map(key=>rule[key]).join(“”);
console.log(`Result:${output}`);
如果输入值是cen
,输出值是dnt
?@T–nngue,该怎么办ễn对于cen,我们需要在hashmap中将其键定义为“cen”,值定义为“dnt”@SumanBasnet我看到你又添加了一个问题来理解我的答案。你有任何疑问吗?我可以help@NitishNarang我终于明白了。谢谢你的帮助effort@NitishNarang我不知道如何接受解决方案。感谢您让我知道,我接受了您的答案。如果输入值为cen
,输出值为dnt如何代码>?@T–nNguyễn对于cen,我们需要在hashmap中将其键定义为“cen”,将值定义为“dnt”。@SumanBasnet我看到您添加了另一个问题来理解我的答案。您有任何疑问吗?我可以help@NitishNarang我终于明白了。谢谢你的帮助effort@NitishNarang我不知道如何接受解决方案。谢谢你让我知道,我接受了你的答案。