javascript - 删除条目或更新为空白(即 "")到 JSON 文件

标签 javascript json fetch

我试图简单地创建一个删除函数,以简单地删除 JSON 文件中找到的条目。

到目前为止,下面成功找到了我想要删除/删除的行(即条目),或者用空白""更新 - 但是我遇到了困难是时候将其写回到 JSON 文件已删除...它获取得很好,而且我找到了我想要删除的行。

我相信这是一个 JavaScript 问题,也是我在这里处理不当的问题,因为我正在使用 ../processor.php 将新条目写入 JSON 文件。

  // Delete Function
  dele.addEventListener('click', ()=>{
    let e= document.getElementById("dropdown-of-entry");
    let slctn= e.value;
    console.log(slctn);

    fetch(urld)  
    .then(
      function(response) {  
        response.json().then(function(data) {  

          let gData = JSON.stringify(data)
          let jsonF = JSON.parse(gData);

          let findtempto;
          let jsonUpdt;
          let jsonUpdtd;
        for (let i = 0; i < jsonF.length; i++) {
            findtempto = jsonF[i].styleName;
            if (findtempto === slctn) { 
                console.log(jsonF[i]); // This successfully finds the line I want to delete
                //delete jsonF[i]; // No avail
                jsonF[i] = " "; // Am trying this next
                // I have also tried moving the ajax call here, and lines above it
             }
           }    
        });

        jsonUpdt = JSON.stringify(jsonF);
        console.log(jsonUpdt);

        jsonUpdtd = JSON.parse(jsonUpdt);
        console.log(jsonUpdtd);

        $.ajax({
          url: './php/data/processor.php',
          type: 'POST',
          data: { template: jsonUpdtd },
          success: function(msg) {
              console.log('updated/deleted data');
          }               
        });  
      }  
    )  
    .catch(function(err) {  
      console.error('Fetch Error -', err);  
    });
  });

最佳答案

使用array.filter()将符合条件的元素保留在数组中。

jsonF = jsonF.filter(e => e.styleName != slctn);

用像 "" 这样的字符串替换对象会在稍后引起问题,因为代码的其余部分期望数组包含对象。

关于javascript - 删除条目或更新为空白(即 "")到 JSON 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60837884/

相关文章:

javascript - 如何使用 JQuery 计算 blob 的 MD5 校验和

javascript - 覆盖 window.fetch 原型(prototype),它添加自定义 header

javascript - 如何使用 Javascript 将内容动态加载到 DIV 中

javascript - 参数值 '<'转换为 '&lt;'

Chrome 上的 Javascript TypeError 事件异常

javascript - 在 json 对象数组上添加唯一生成的标识符

javascript - 使用参数 ReactJS 从 API 请求中获取信息

c# - getJSON 回调未触发

javascript - 获取删除请求无法正常工作

php - 使用公共(public)列检索所有登录的 session 数据