错误地评估两个JSON字符串值

时间:2016-07-17 00:27:54

标签: javascript json

我有两个JSON对象,一个包含主要学校名称列表,另一个包含所有学校名称列表。例如,说“编程学校”有四个地点。所以你有一个JSON对象编程学校,然后编程学校(阿拉斯加州),编程学院(Mass),编程学院(佛罗里达州),编程学院(加利福尼亚州)。我想将“编程学校”与所有四个地点进行比较,所以我经历一个循环,将所有内容分成“(”并将所有内容都放在左边。所以我应该发现我有四次编程学校==编程学校。

的index.html

<li ng-repeat="x in collegeList" >
  <a class="list-item" href="who.html" id="{{x.collegeID}}" ng-click="getButtonClicked(x.collegeID,x.collegeName)">
    <h3 class="name">
      <span><img src="{{x.imagePath}}"  alt="School Icon"> </span>{{x.collegeName}}
    </h3>
  </a>
</li>

displayData.js

$scope.getButtonClicked = function(idNumber,collegeName){
  sessionStorage.setItem("id", idNumber);
  sessionStorage.setItem("collegeName",collegeName);
  angular.forEach($scope.data, function(x) {
    var name = JSON.stringify(x.collegeName); // gets the data value in a row in the column collegeName
    var temp = JSON.stringify(collegeName); // gets the data value from the college selected on the first screen

    alert("From Database: " + name.split('(')[0] );
    alert("From College Picked: " + temp);
    console.log(name + "  " + temp);
    console.log(name.split("(")[0] + "  " + temp);
    alert(name.split("(")[0] == temp);
  })
}

我坚持为什么“name.split(”(“)[0] == temp”如果必须拆分“(”。如果我做“语法学校==文法学校),则不评估为真“,并且不必拆分为”(“它评估为真。但如果我必须从上面列出的位置在括号中的某个位置评估”编程学校==编程学校“,它不会评价为真。

当我打印出“console.log(name.split(”(“)[0] +”“+ temp);”它会给我这个“编程学校”编程学校“如果它必须拆分为“(”。第一个编程学校并没有以引文结束,我认为这是我的问题,但我不确定。

1 个答案:

答案 0 :(得分:0)

基于评论讨论的理论修正:

angular.forEach($scope.data, function(x)
{
    var name = x.collegeName; // gets the data value in a row in the column collegeName
    var temp = collegeName; // gets the data value from the college selected on the first screen

    alert(name.split(" (")[0] === temp);
})