javascript如何检查相同的数据是第二次可用

时间:2018-05-23 06:06:37

标签: javascript

我有一个棘手的要求,我无法解决。

我有一个按钮,如果我点击该按钮,我就会从REST网络服务获取数据......

static

如果我是第一次获得上述数据。我要显示一个部分。再次,如果我点击相同的按钮,如果我在服务中获得相同的数据,那么我必须隐藏该部分。但我无法第二次检查相同的数据。 我试图通过将数据存储在如下变量中来解决这个问题。

{
"results": [{
            "Reqdate": "\/Date(1520899200000)\/",
            "Tooltip": "13.03.2018 Blood Donation Approved ",
            "Legendid": "GROUP_LEVEL1"
            },{
            "Reqdate": "\/Date(1523836800000)\/",
            "Tooltip": "16.04.2018 Privilege Leave Sent ",
            "Legendid": "BADVALUE_LIGHT",
            },{
            "Reqdate": "\/Date(1524528000000)\/",
            "Tooltip": "24.04.2018 Privilege Leave Sent ",
            "Legendid": "BADVALUE_LIGHT",
            }]

            }

现在我无法检查第二次是否有相同的数据。实际上我也无法生成示例代码。我很抱歉

有人可以帮我解决这个问题。

2 个答案:

答案 0 :(得分:1)

我不完全理解您的问题,但我认为您可以将数据存储为JSON,并检查第二次以后是否返回相同的数据?

代码示例

// Variable declaration
var firstTimeResults = null;

// When data return
var dataJson = JSON.stringify(data.results);
if (firstTimeResults === null) {
 firstTimeResults = dataJson;
}
else {
 // check to see if the data is the same as the firstTimeResults
 var isSame = firstTimeResults === dataJson;
 if (isSame) {
    // Same
 } else {
    // Not the same
 }
}

答案 1 :(得分:0)

您只需尝试使用 Lodash 库。 它使JavaScript更容易使用数组,数字,对象,字符串等。

https://lodash.com/

var firstResult = null;
var secondResult;
var showSection;

function getData() {
  // here goes your API request to get the data        
};

function onButtonClick() {
   this.getData().then(function(value) {

      if !(firstResult) {
        firstResult = value;
        showSection = true;

        return;
      }

      secondResult = value;

      if (_.isEqual(firstResult, secondResult)) {
          showSection = false;
      } 
   })
};

希望这会对你有所帮助!