来自本地存储的JSON字符串在解析为JSON对象

时间:2016-10-01 17:54:19

标签: javascript json

我使用此功能,因此我可以保存DOM中的旧值,将其与新值进行比较,并在值不同时显示特定符号。我远不是JS的专家,但我认为当我使用var retrievedDataJSON.parse转换为json对象并将结果(json对象)保存到var productsRetrived时,会发生一些非常奇怪的事情。

从下面的图片可以看出,我在第一行作为来自console.log(retrievedData );的JSON字符串。然后在第二行我得到的对象应该只是这个字符串的转换版本。 我不知道为什么,但我得到的是带有NEW值而不是旧值的字符串的更新版本。 有人可以解释为什么会这样吗?

enter image description here

以下是代码:

function isInArr (id, price){
  var retrievedData = localStorage.getItem("tempThumbnails");
  var productsRetrived = JSON.parse(retrievedData);
   console.log(retrievedData );
   console.log(productsRetrived );

    for (var i = 0, len=productsRetrived.length; i < len; i++) {
      if(productsRetrived[i].id==id){
        //if product is in the local storage compare prices
        if(productsRetrived[i].price==price){
            //if prices match rebuild the json in LS
            changeLS(productsRetrived[i]);
            return 0;
            break;

        }else if(productsRetrived[i].price>price){
            productsRetrived[i].price=price;
            changeLS(productsRetrived[i]);
            return -1;
            break;

        }else if(productsRetrived[i].price<price){
            productsRetrived[i].price=price;
            changeLS(productsRetrived[i]);
            return 1;
            break;
        }
    }
  }
}

0 个答案:

没有答案