JSFIDDLE 错误

JSFIDDLE Errors

此编码中有两个错误,分别在第 3 行和第 9 行。我确定这是一个简单的错误,但我似乎找不到问题所在。

HTML 代码

<h1 id="title">Enter the String</h1>
<input type="text" id="myTextField"/>
<input type="submit" id="byBtn" value="Change" onclick="change()"/>

JAVASCRIPT 代码

function change(){
  var str = document.getElementById('myTextField').value;
  if( str.length==0 ){
    alert('Write Some real Text please.');
    return;
  }
  var arr = str.split();
  var map = {};
  for (int i= 0; i < arr.length; i++){
    if(map[arr[i]] == true){
      map[arr[i]] = map[arr[i]] || [];
      map[arr[i]].push(i+1);
    }
    else{
      map[arr[i]] = [];
      map[arr[i]].push(i+1);
    }
  }
  alert(map);
}

我不确定函数的目标是什么,但是当您重新组织代码以便不引用未定义的变量时,一切都会通过:

function change() {
    var str = document.getElementById('myTextField').value;
    if( str.length==0 ){
      alert('Write Some real Text please.');
    }
    var arr = str.split(' ');
    var map = {}
    for (var i = 0; i < arr.length; i++) {
        if(map[arr[i]] == undefined) {
          map[arr[i]] = [i]
        }
        else{
            map[arr[i]].push(i)
        }
    }

    alert(JSON.stringify(map));
}

http://codepen.io/anon/pen/WQwxbV

根据你发给我的内容,这应该是这样的...