到目前为止,我已经用它替换了输入框中的文本(如果其中包含对象名称)和对象值:
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
我该如何去做呢?
最佳答案
您可以按空间分割, map 然后加入!
var obj = { '1': 'fish', 'q': 'apple', 'e': 'banana'};
$("#inputBoxID").on("keyup", function() {
var str = $("#inputBoxID").val().split(' ').map(function(word) {
return obj[word] || word;
}).join(' ');
$(this).val(str);
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input id="inputBoxID">
关于javascript - 将任何出现的对象名称替换为对象值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49328097/