Javascript 用对象值替换对象名称的任何出现

Javascript 用对象值替换对象名称的任何出现,javascript,jquery,Javascript,Jquery,到目前为止,如果输入框中有对象名,我有一个文本替换为对象值: var obj = { '1': 'fish', 'q': 'apple', 'z': 'banana', }; $("#inputBoxID").on("keyup", function() { if(obj.hasOwnProperty($("#inputBoxID").val())) $(this).val(obj[$("#inputBoxID").val()]); }); 我想对此进行修改,

到目前为止,如果输入框中有对象名,我有一个文本替换为对象值:

var obj = {
    '1': 'fish',
    'q': 'apple',
    'z': 'banana',
};

$("#inputBoxID").on("keyup", function() {
    if(obj.hasOwnProperty($("#inputBoxID").val())) $(this).val(obj[$("#inputBoxID").val()]);
});
我想对此进行修改,以便在出现任何对象名称时,它都会将对象名称替换为值,下面是我尝试执行的一个示例:

用户输入
hello q
我希望将其替换为:
hello apple


我该怎么做呢?

您可能希望通过将字符串拆分为一个单词数组,然后替换它来分别替换每个单词:

  $("#inputBoxID").val((_, v) => v.split(" ").map(word => obj[word] || word).join(" "))

您可能希望通过将字符串拆分为一个单词数组,然后分别替换每个单词:

  $("#inputBoxID").val((_, v) => v.split(" ").map(word => obj[word] || word).join(" "))

你可以按空间分割,映射,然后加入

var obj={'1':'fish','q':'apple','e':'banana'};
$(“#inputBoxID”)。在(“键控”,函数()上{
var str=$(“#inputBoxID”).val().split(“”).map(函数(字){
返回obj[word]| | word;
}).加入(“”);
$(this).val(str);
});

您可以按空间分割、映射然后加入

var obj={'1':'fish','q':'apple','e':'banana'};
$(“#inputBoxID”)。在(“键控”,函数()上{
var str=$(“#inputBoxID”).val().split(“”).map(函数(字){
返回obj[word]| | word;
}).加入(“”);
$(this).val(str);
});

您可以简单地用它的值替换任何出现的键,如下所示(我知道对于我们在对象中迭代的每个按键,它都有点重)

var obj={
‘1’:‘鱼’,
‘q’:‘苹果’,
‘z’:‘香蕉’,
};
$(“#inputBoxID”)。在(“键控”,函数()上{
var str=$(“#inputBoxID”).val();
用于(obj中的var x){
if(对象hasOwnProperty(x)){
str=str.replace(x,obj[x]);
}
}
$(this).val(str);
});

您可以简单地用它的值替换任何出现的键,如下所示(我知道对于我们在对象中迭代的每个按键,它都有点重)

var obj={
‘1’:‘鱼’,
‘q’:‘苹果’,
‘z’:‘香蕉’,
};
$(“#inputBoxID”)。在(“键控”,函数()上{
var str=$(“#inputBoxID”).val();
用于(obj中的var x){
if(对象hasOwnProperty(x)){
str=str.replace(x,obj[x]);
}
}
$(this).val(str);
});



如果用户键入“qq”或如果用户键入“hello question1”,该怎么办?如果它取代了q、e和1?@yajiv,它将变成
appleapple
@Observer yes itshould@newbie苹果中有“e”,它应该替换还是不替换?(意思是如果我写苹果,那么输出会是什么)如果用户键入“qq”或者如果用户键入“hello question1”,会发生什么?如果它取代了q、e和1?@yajiv,它将变成
appleapple
@Observer yes itshould@newbie苹果中有“e”,它是否应该替换?(意思是如果我写苹果,那么输出是什么)我不能写任何以q、e或1I开头的单词,我没有问这个问题,兄弟。只是一个观察谢谢@Ele我怎么能修改这个,如果有人输入
qq
,它会变成
appleapple
?你想用obj中的任何键替换每个匹配的字母吗?我不能写任何以q或e开头的单词,或者我没有问问题兄弟。只是一个观察谢谢@Ele我怎么能修改它,如果有人输入
qq
,它会变成
appleapple
?你想用obj中的任何键替换每个匹配的字母吗?