亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

刪除/更新 node.js 中的 JSON 鍵

刪除/更新 node.js 中的 JSON 鍵

翻過高山走不出你 2022-06-16 14:38:25
我正在嘗試更新或刪除(然后重寫)node.js 中的 JSON 密鑰JSON:{"users":[{"Discordid":"discid","Username":"user","Password":"pass","School":"schoolname"}, {"Discordid":"discid1","Username":"user1","Password":"pass1","School":"schoolname1"}]}我想{"Discordid":"discid","Username":"user","Password":"pass","School":"schoolname"} 通過for 循環刪除整個內容,因此我使用變量,該變量a等于我要刪除的數據的數量。我努力了:fs.readFile('databases/magistercredentials.json', 'utf-8', function (err, data1) {     if (err) throw err     var magistercreds = JSON.parse(data1)     for (a = 0; a < Object.keys(magistercreds.users).length; a++) delete magistercreds.users[a]和其他一切都不起作用的事情。
查看完整描述

2 回答

?
斯蒂芬大帝

TA貢獻1827條經驗 獲得超8個贊

fs.readFile('databases/magistercredentials.json', 'utf-8', function (err, data1) {

     if (err) throw err

     var magistercreds = JSON.parse(data1)

     for (a = 0; a < magistercreds.users.length; a++){

          magistercreds.users.splice( a, 1 );

          a--; // to step back, as we removed an item, and indexes are shifted

     }

但可能你只想更新,所以你可以讓它變得簡單:


fs.readFile('databases/magistercredentials.json', 'utf-8', function (err, data1) {

     if (err) throw err

     var magistercreds = JSON.parse(data1)

     magistercreds.users[68468] = {.....}


查看完整回答
反對 回復 2022-06-16
?
一只甜甜圈

TA貢獻1836條經驗 獲得超5個贊

關于是要刪除鍵還是要刪除整個對象的問題尚不清楚。假設要從數組中刪除整個元素users,可以使用拼接方法。


首先使用 找到要刪除的元素的索引findIndex。然后您可以使用splice就地修改數組。


樣本:


fs.readFile('databases/magistercredentials.json', 'utf-8', function (err, data1) {

     if (err) throw err

     var magistercreds = JSON.parse(data1)

     // Assuming you want to delete the element which has the Discordid property as "discid"

     var indexOfElement = magistercreds.findIndex(el => el.Discordid === "discid")

     magistercreds.users.splice(indexOfElement, 1) // This will remove 1 element from the index "indexOfElement" 

}

此外,不需要使用Object.keys來迭代數組。原始問題中的 for 循環可以重寫為:


for (a = 0; a < magistercreds.users.length; a++) delete magistercreds.users[a]

如果這不是您想要實現的,請編輯問題以添加更多信息。


查看完整回答
反對 回復 2022-06-16
  • 2 回答
  • 0 關注
  • 239 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號