JSFIDDLE错误

时间:2015-09-17 02:31:26

标签: javascript html jsfiddle

此编码中有两个错误,在第3行和第9行。我确定这是一个简单的错误,但我似乎无法找到它的错误。

HTML CODE

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

JAVASCRIPT CODE

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);
}

1 个答案:

答案 0 :(得分:0)

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

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

根据你发给我的东西,它应该是什么样的......