如何通过用户名和密码从JSON数组中获取对应token(保持现有结构)
可行,完全不需要修改现有JSON结构
直接基于现有数组结构,用find结合数组索引就能实现,逻辑和你已有的isUsernameTaken函数类似,只是多了密码匹配的条件。
假设你的JSON数据结构示例如下:
[ { "user": ["张三", "123456", "abc123"] }, { "user": ["李四", "654321", "def456"] } ]
可以写一个专门的函数来实现需求:
function getTokenByUserPass(users, username, password) { // 遍历数组,找到用户名和密码都匹配的项 const target = users.find(item => { return item.user[0] === username && item.user[1] === password; }); // 找到则返回对应token(数组索引2的位置),否则返回null return target ? target.user[2] : null; }
调用示例:
const userData = [/* 你的JSON数组数据 */]; const token = getTokenByUserPass(userData, "张三", "123456"); console.log(token); // 输出 "abc123"
这个方案完全保留原JSON的数组结构,只是利用数组索引定位对应字段,和你现有代码的逻辑适配性很强。
内容的提问来源于stack exchange,提问作者bombali_reyiz
相关产品推荐
相关产品推荐

