示例 JSON 数据:
{
"results": [
{
"name": "John Smith",
"state": "NY",
"phone": "555-555-1111"
},
{
"name": "Mary Jones",
"state": "PA",
"phone": "555-555-2222"
},
{
"name": "Edward Edwards",
"state": "NY",
"phone": "555-555-3333"
},
{
"name": "Abby Abberson",
"state": "RI",
"phone": "555-555-4444"
},
]}
使用此示例数据,我可以显示来自 results []
数组的各个值,其中包含 object.name
和 object.phone
以查看某些内容喜欢:
John Smith 555-555-1111<br />
Mary Jones 555-555-2222<br />
Edward Edwards 555-555-3333<br />
Abby Abberson 555-555-4444
我现在要做的是只选择状态值为 NY 的人,并且只显示他们的 object.name
和 object.phone
:
John Smith 555-555-1111<br />
Edward Edwards 555-555-3333
我尝试了这个可爱的小块,但它所做的只是打印所有的名字,在我尝试之后这很有意义。
if (object.state = "NY") {
div.append(repName);
}
我似乎想不出一种方法来只显示共享相同状态的那些。
我可能正在搜索错误的术语,或者必须以其他方式解决这个问题...请帮忙!
最佳答案
您使用的是 =
(赋值运算符),这是错误的。
你必须使用==
(比较运算符)
所以像下面这样:-
if (object.state == "NY") {
div.append(repName);
}
工作样本-
var obj = {
"results": [
{
"name": "John Smith",
"state": "NY",
"phone": "555-555-1111"
},
{
"name": "Mary Jones",
"state": "PA",
"phone": "555-555-2222"
},
{
"name": "Edward Edwards",
"state": "NY",
"phone": "555-555-3333"
},
{
"name": "Abby Abberson",
"state": "RI",
"phone": "555-555-4444"
},
]};
$(obj.results).each(function(k,object){
if (object.state == "NY") {
$('#final_data').append(object.name +" : "+object.phone+"<br/>");
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="final_data"></div>
关于javascript - 查询共享相同值的 JSON 数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48025729/