2017-08-31 74 views
0

在關於從.txt文件中適當地檢索某些數據並將其適當地存儲到數組中使用的組評估中存在一點問題JSON或Javascript。存儲的數據包含用戶名/密碼,我想在其中創建一些javascript函數來讀寫.txt文件,但是我非常難以這樣做。我一直在試圖弄清楚如何逐行搜索首先匹配輸入字段的用戶/密碼,然後再添加到這些數組(然後再允許它們被添加到.txt文件中),但到目前爲止還沒有成功。我知道這是一個長期以來的問題,但任何幫助/資源都會被認爲與我正在嘗試做的事有關。JSON/Javascript - 如何從文本文件中檢索數據並將其存儲到數組中

JSON陣列(文本文件數據)

myObj = { 
     "users": [ 
      { "name":"John", "password":"test123" }, 
      { "name":"Cindy", "password":"apples22" }, 
      { "name":"Phil", "password":"oranges64" } 
     ] 
    } 
+1

粗略估計:離開了 'MyObj中=' 部分(使用JSON格式),讀取整個文件作爲text/string,使用jsonparser從它創建一個對象。 –

回答

1

使用array filter method

可以(通過名稱或擦肩而過,我用的通)選擇像這樣陣列的用戶:

var matchingUsers = users.filter(u => u.name === name); 

注意陣列過濾器返回匹配的列表,所以你需要選擇的第一個用於匹配的用戶:

var singleMatchingUser = matchingUsers[0]; 

如果您希望重複名稱,則需要對此進行說明。

所有相關的代碼在這裏:

myObjAsJson = { 
    "users": [ 
    {"name":"John", "password":"test123"}, 
    {"name":"Cindy", "password":"apples22"}, 
    {"name":"Phil", "password":"oranges64"} 
    ] 
} 

function findPassByName(users, name) { 
    var matchingUsers = users.filter(u => u.name === name); 
    return matchingUsers[0].password; 
} 

var cindysPass = findPassByName(myObjAsJson.users, 'Cindy'); 

console.log(cindysPass); //This logs 'apples22' 

見代碼在這裏: https://plnkr.co/edit/xBM2U9MHsgrxkqvEa7Gz?p=preview

相關問題