使用 jquery 将(键值)数据附加到本地存储中的现有数据

Posted

技术标签:

【中文标题】使用 jquery 将(键值)数据附加到本地存储中的现有数据【英文标题】:Append (key value) data to existing data in localstorage using jquery 【发布时间】:2020-11-24 04:44:29 【问题描述】:

我正在尝试比较两个 id 并将一个属性附加到现有的本地存储数据中。 在 for 循环中。

这里是codepen 显示示例数据和逻辑。

我只是想检查一下 var allcategorydatawithlevelidvar category_idcategorydata &如果这两个匹配我想追加 allcategorydatawithlevelcategorydata 的 level 属性。 请查看包含我尝试过的数据示例和逻辑的 Codepen。

【问题讨论】:

您的对象(或带有对象的数组)似乎是从控制台复制和粘贴的,因此它们在语法上不正确。请修复您的代码并使其正常运行。 好的,他们有什么办法解决这个问题吗? 有。查看this thread 了解如何在 chrome 中从控制台复制对象。 谢谢你我更新了codepen 请检查codepen 【参考方案1】:

希望对你有所帮助:

  var categorydata = [
         category_id: 2, name: "Default Category", position: 1 ,
         category_id: 3, name: "Clothing", position: 14597 ,
         category_id: 6, name: "Brands", position: 1 ,
         category_id: 8, name: "What's New", position: 1011 ,
         category_id: 12, name: "Dresses", position: 4456 ,
         category_id: 128, name: "Current Mood", position: 189 ,
         category_id: 138, name: "Mini", position: 13078 ,
         category_id: 630, name: "Kandi - Rave Clothing", position: 264 ,
         category_id: 1130, name: "Char Test Category", position: 99 ,
         category_id: 2443, name: "Sets", position: 163 ,
         category_id: 2657, name: "Club Exx Festival", position: 208 
    
    ];
    var allcategorydatawithlevel = [
         id: 1, level: 1 ,
         id: 2, level: 5 
    ]

  var category = [];
    
    for (i = 0; i < allcategorydatawithlevel.length; i++) 
        for (x = 0; x < categorydata.length; x++) 
            if (allcategorydatawithlevel[i].id == categorydata[x].category_id) 
                category.push(allcategorydatawithlevel[i].level);
            
        
    
    localStorage.setItem("category", JSON.stringify(category));
    console.log(JSON.stringify(category));

您也可以使用以下代码:

  allcategorydatawithlevel.forEach((item, index) => 
        categorydata.forEach((key, val) => 
            if (item.id === key.category_id) 
                category.push(item.level);
            
        )
        localStorage.setItem("category", JSON.stringify(category));

    )
    console.log(JSON.stringify(category));

【讨论】:

让我检查一下上面的答案。

以上是关于使用 jquery 将(键值)数据附加到本地存储中的现有数据的主要内容,如果未能解决你的问题,请参考以下文章

我可以使用啥查询从选定键值的本地存储中获取数据

如何使用 jquery 将数据从本地存储发送到后端

如何 - 使用 JQuery 在二维数组和 HashTable 中存储键值对?

初识Redis

如果将任何注释附加到键值,Boost 属性树 ini 解析会出错

如何使用来自localstorage的jquery将项目附加到DOM?