Javascript array.find()仅在第一个实例中找到
我有以下对象数组:Javascript array.find()仅在第一个实例中找到,javascript,Javascript,我有以下对象数组: var data = {}; data.type = { "types": [{ "testA": { "testVar": "abc", "testContent": "contentA" } }, { "testB": { "testVar": "def", "testContent": "contentB"
var data = {};
data.type = {
"types": [{
"testA": {
"testVar": "abc",
"testContent": "contentA"
}
}, {
"testB": {
"testVar": "def",
"testContent": "contentB"
}
}]
};
我试图通过搜索父对象和同级对象来查找testContent
的值:
/* within the data, find content where parent is testA and sibling testVar is "abc" */
var findSet = data.type.types.find(function(entry) {
return entry['testA'].testVar === "abc";
});
console.log(findSet['testA'].testContent); /* returns string "contentA" as expected */
这对第一个对象很有效,但找不到下一个对象,出现错误:
无法读取未定义的属性“testVar”
我怎么才能找到需要的东西
var data={};
数据类型={
“类型”:[{
“种皮”:{
“testVar”:“abc”,
“testContent”:“contentA”
}
}, {
“测试B”:{
“testVar”:“def”,
“testContent”:“contentB”
}
}]
};
var findSet=data.type.types.find(函数(条目){
返回条目['testA']&条目['testA'].testVar==“abc”;
});
log(findSet['testA'].testContent);
var findSet=data.type.types.find(函数(条目){
返回条目['testB']&&entry['testB'].testVar==“def”;/*无法读取未定义的属性“testVar”*/
});
log(findSet['testB'].testContent)
Hmmm-我认为.find()
的全部目的就是不必这样做-无论如何,非常感谢
var findSet = data.type.types.find(function(entry) {
return entry['testB'].testVar === "def"; /* Cannot read property 'testVar' of undefined */
});
console.log(findSet['testB'].testContent);