如何找到值为“Anna”的“firstname”并使用JavaScript在最后显示她的“lastname”?这只是一个虚拟的例子,让我了解它是如何工作的。
var employees = [
{
"firstName":"John",
"lastName":"Doe"
},
{
"firstName":"Anna",
"lastName":"Smith"
},
{
"firstName":"Peter",
"lastName":"Jones"
}
];
document.getElementById("demo").innerHTML =
employees.firstName;
<p id="demo"></p>
答案 0 :(得分:1)
您必须迭代并检查该值,然后执行您想要的操作:
for (var i = 0; i < employees.length; i++) {
if (employees[i].firstName == "Anna") {
document.getElementById("demo").innerHTML = employees[i].lastName;
break;
}
}
要显示超过1个Anna - 我在阵列上使用filter
,然后join
:
var lastNames = employees.filter(function(employee) {
return employee.firstName == "Anna";
}).map(function(employee) {
return employee.lastName;
}).join(",");
document.getElementById("demo").innerHTML = lastNames;
答案 1 :(得分:0)
var e = [
{
"firstName":"John",
"lastName":"Doe"
},
{
"firstName":"Anna",
"lastName":"Smith"
},
{
"firstName":"Peter",
"lastName":"Jones"
}
];
for (var i = e.length - 1; i >= 0; i--) {
if (e[i].firstName == "Anna") {
console.log(e[key]['firstName'] + ', ' + e[key]['lastName']);
break;
}
};
您需要遍历Object并找到您要查找的键的值。 http://jsfiddle.net/mjs2avag/
答案 2 :(得分:0)
我做过类似的事情
var quality = function(obj) {
if (obj.quality === 'source') {
return obj;
}
};
context.download.filter(quality)[0].link;
此过滤器应返回与新数组中的过滤器匹配的每个对象。
答案 3 :(得分:0)
对于更复杂的查询,您还可以使用JSON查询语言,例如JSON Query(惊喜!)
var jsonQuery = require('json-query')
var data = {
employees: [
{firstName: 'John', lastName: 'Doe'},
{firstName: 'Anna', lastName: 'Smith'},
{firstName: 'Peter', lastName: 'Jones'}
]
}
jsonQuery('employees[firstName=Anna].lastName', {
data: data
})
答案 4 :(得分:0)
迭代第一个数组并使用条件查找值&#39; anna&#39; ,然后像employees[i].lastName
一样访问它。这是工作示例。 JSFIDDLE LINK
Html
var employees = [{
"firstName": "John",
"lastName": "Doe"
}, {
"firstName": "Anna",
"lastName": "Smith"
}, {
"firstName": "Peter",
"lastName": "Jones"
}];
for (var i in employees) {
if (employees[i].firstName == 'Anna') {
document.getElementById("demo").innerHTML = employees[i].lastName;
}
}
&#13;
<h3 id="demo"></h3> <!--This one will print smith Anna's lastname -->
&#13;