Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/442.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在javascript中使用关联数组_Javascript - Fatal编程技术网

在javascript中使用关联数组

在javascript中使用关联数组,javascript,Javascript,我制作了一个包含两个输入框和一个输入按钮的应用程序。我的问题是当用户输入一些输入时,例如“我过去经常去某个地方”,那么我的结果应该是“我在某个地方工作。”为此,我使用了这个代码 请,任何人都知道如何解决,然后请尽快回复我。我用php解决了我的问题,但对于javascript我没有任何想法。这是我在php中的输出链接 我希望我的结果是javascript。请任何人知道,然后给予答复。这样做。将单词replace定义为map var wordmap = { going: 'GNG', 'us

我制作了一个包含两个输入框和一个输入按钮的应用程序。我的问题是当用户输入一些输入时,例如“我过去经常去某个地方”,那么我的结果应该是“我在某个地方工作。”为此,我使用了这个代码

请,任何人都知道如何解决,然后请尽快回复我。我用php解决了我的问题,但对于javascript我没有任何想法。这是我在php中的输出链接
我希望我的结果是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的直接属性亲爱的先生,我尝试了此操作,但没有得到任何解决方案。亲爱的先生,我尝试了此操作,但没有得到任何解决方案。