2017-08-31 75 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

相关问题