如何通过了解对象中另一个属性的值来检索属性的值
How would I retrieve a property's value by knowing another property's value in an object?
如果可能的话,我不想使用jQuery。我在寻找什么:
var obj = [
{
name: "Sam",
Job: "Developer"
},
{
name: "Mike",
Job: "Brother"
}
];
var testing = obj[name == sam].job // testing equals "Developer"
您正在寻找 Array.filter:
var obj = [
{
name: "Sam",
Job: "Developer"
},
{
name: "Mike",
Job: "Brother"
}
]
var testing = obj
.filter(function(person) {
return person.name == 'Sam'
}).map(function(person) {
return person.Job
})
控制台.log(测试)
或者,如果您知道自己对第一个感兴趣:
var obj = [
{
name: "Sam",
Job: "Developer"
},
{
name: "Mike",
Job: "Brother"
}
]
var testing = obj
.filter(function(person) {
return person.name == 'Sam'
}) var obj = [
{
name: "Sam",
Job: "Developer"
},
{
name: "Mike",
Job: "Brother"
}
]
var testing = obj
.filter(function(person) {
return person.name == 'Sam'
})
console.log(testing[0] && testing[0].Job)
最后但并非最不重要的一点是:如果您知道您只有一个匹配项,您可以执行以下操作:
var testing = obj.filter(function(p) { return p.name == 'Sam'; })[0].Job
因此,您不能像编写的那样简单地做到这一点,但您可以过滤并找到所需的内容。我把它变成了一个通用函数,使可重用性更容易:
function getArrObjPropertyValue(arr, searchProperty, searchCompare, returnProperty) {
return arr.filter(function(item) {
return item[searchProperty] === searchCompare;
})[0][returnProperty];
}
console.log(getArrObjPropertyValue(obj, 'name', 'Sam', 'Job')); // Developer
将对象的键与分配值分开进行比较,如下所示:
var people = [
{
name: "Sam",
Job: "Developer"
},
{
name: "Mike",
Job: "Brother"
}
];
var testing = null;
for (var person in people) {
if (people[person].name === 'Sam') { testing = people[person].job; }
}
相关文章:
- 无法使用ng repeat检索动态创建的JSON对象的属性
- 如何从jQuery的事件对象中检索属性
- 使用promise通过外部函数从DOM中检索属性
- JavaScript:用于检索属性值的括号表示法
- 如何解析文本区域中的结构化字符串数据(接近JSON)以检索其所需的属性
- 在主要的JavaScript引擎中,在JavaScript关联数组(动态对象属性)中检索/插入的复杂性是多少
- 正在代码隐藏中检索选定ListBox项的属性数据
- 如何在 XML 中搜索特定属性以检索另一个属性
- 此属性检索代码有什么问题
- 如何检索其属性为给定参数的子字符串的所有文档
- 通过程序从构造函数中检索属性名称
- 如何在 jquery 和 javascript 中检索 html 标签属性
- 属性来检索和设置Text节点值:data或nodeValue
- 如何检索上一个属性的名称属性
- 基于一个属性Javascript检索多个对象
- 从更改时的选择中检索值和数据属性
- 如何使用XPath表达式在CasperJS中检索元素的属性
- 检索具有特定数据属性的祖先元素
- 为什么不能使用函数名称在 JavaScript 中检索属性
- 使用来自 JSON 对象的数组表示法进行多级属性检索