gpt4 book ai didi

javascript - 搜索 JSON 数组中的项目

转载 作者:行者123 更新时间:2023-11-28 17:02:55 25 4
gpt4 key购买 nike

我正在研究 vanilla js,因为我根本不允许使用 jQuery,所以我几乎是一个初学者,所以我想要一个指南,我正在尝试从 JSON 文件中获取电子邮件地址已尝试执行循环,但它永远不会到达属性电子邮件并显示它。

我已经尝试过这个:

我搜索输入文本并获取值并将其存储在 textValue 中,然后尝试使用 for-loop 查找该值。 。

var textValue = document.getElementById("email").value;
for(var i = 0; i < localStorage.getItem(jsondata.data.length); i++)
{
if(jsondata[i].email == textValue)
{
console.log(jsondata[i].email)
}
}
};

这就是 JSON 的样子:

{
"data": [
{
"email": "nicobes@gmail.com",
"name": "Nickole Beatrice Smith",
"address": "398 Pleasant Pine Cir. Harrington, DE 19123",
"age": 45,
"notes": "Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s, ",
"phoneNumbers": [
{
"phone": "(302) 792-8434"
},
{
"phone": "(302) 792-1134"
},
{
"phone": "(302) 792-2234"
},
{
"phone": "(302) 792-3334"
}
],
"relatives": [
{
"name": "Susan M Smith"
},
{
"name": "Malcolm W Smith"
},
{}
]
}

最佳答案

如果您的电子邮件地址不唯一,请尝试使用此代码。过滤器方法处理数组中的所有项目,当内部回调函数(row=>row.email==textValue)返回 true 时,则该行被插入返回值,但其他行则不然。这是按电子邮件地址过滤的

var jsondata = json.data;
var textValue = document.getElementById("email").value;
var found = jsondata.filter(row=>row.email==textValue);
console.log(result); // an array of object

如果电子邮件是唯一的,请使用查找方法。 find 方法回调与之前的相同,但不同的是,它在找到第一个真值时退出。另一个区别是返回值。这个返回一个对象,即搜索到的对象,但不是对象数组。

var jsondata = json.data;
var textValue = document.getElementById("email").value;
var found = jsondata.find(row=>row.email==textValue);
console.log(result); // an object

关于javascript - 搜索 JSON 数组中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56827558/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com