在javascript中使用关联数组
我制作了一个包含两个输入框和一个输入按钮的应用程序。我的问题是当用户输入一些输入时,例如“我过去经常去某个地方”,那么我的结果应该是“我在某个地方工作。”为此,我使用了这个代码 请,任何人都知道如何解决,然后请尽快回复我。我用php解决了我的问题,但对于javascript我没有任何想法。这是我在php中的输出链接在javascript中使用关联数组,javascript,Javascript,我制作了一个包含两个输入框和一个输入按钮的应用程序。我的问题是当用户输入一些输入时,例如“我过去经常去某个地方”,那么我的结果应该是“我在某个地方工作。”为此,我使用了这个代码 请,任何人都知道如何解决,然后请尽快回复我。我用php解决了我的问题,但对于javascript我没有任何想法。这是我在php中的输出链接 我希望我的结果是javascript。请任何人知道,然后给予答复。这样做。将单词replace定义为map var wordmap = { going: 'GNG', 'us
我希望我的结果是javascript。请任何人知道,然后给予答复。这样做。将单词replace定义为map
var wordmap = {
going: 'GNG',
'used to': 'UD',
'as soon as possible': 'asap',
'to do fast': 'tdf',
..
}
并定义迭代输入字符串中每个单词的函数
function replace( text ) {
var input = text.split(' ');
var outputval = []
for (var i in input) {
outputval.push( wordmap[input[i]] || input[i] )
}
return outputval.join(' ');
}
像这样使用它
var output = replace( document.getElementById('first_text').value );
像这样做。将单词replace定义为map
var wordmap = {
going: 'GNG',
'used to': 'UD',
'as soon as possible': 'asap',
'to do fast': 'tdf',
..
}
并定义迭代输入字符串中每个单词的函数
function replace( text ) {
var input = text.split(' ');
var outputval = []
for (var i in input) {
outputval.push( wordmap[input[i]] || input[i] )
}
return outputval.join(' ');
}
像这样使用它
var output = replace( document.getElementById('first_text').value );
使用此功能
var replaceText = function () {
var inputval = document.getElementById('first_text').value;
var arr = {
"going": "GNG",
"used to": "UD",
"as soon as possible": "ASAP",
"to do fast": "tdf"
}
for(var key in arr) {
if (typeof (arr[key]) !== "undefined") inputval = inputval.replace(key, arr[key])
}
document.getElementById("second_text").value = inputval;
}
使用此功能
var replaceText = function () {
var inputval = document.getElementById('first_text').value;
var arr = {
"going": "GNG",
"used to": "UD",
"as soon as possible": "ASAP",
"to do fast": "tdf"
}
for(var key in arr) {
if (typeof (arr[key]) !== "undefined") inputval = inputval.replace(key, arr[key])
}
document.getElementById("second_text").value = inputval;
}
亲爱的先生,我试过了,但没有得到任何解决办法。请告诉我哪里做错了。为什么是未定义的测试?您不会在for..in循环中得到未定义的值(除非您已显式地将一个键分配给未定义)。@nnnnnn对不起,我的错,如果(arr.hasOwnProperty(key)),则应该是
。这可以确定对象是否具有指定的属性作为arr
object的直接属性亲爱的先生,我尝试了这个方法,但没有得到任何解决方案。请告诉我哪里做错了。为什么是未定义的测试?您不会在for..in循环中得到未定义的值(除非您已显式地将一个键分配给未定义)。@nnnnnn对不起,我的错,如果(arr.hasOwnProperty(key))
,则应该是。这可以确定对象是否具有指定属性作为arr
object的直接属性亲爱的先生,我尝试了此操作,但没有得到任何解决方案。亲爱的先生,我尝试了此操作,但没有得到任何解决方案。