如何在javascript中访问内部嵌套对象?
如何到达isBoatOwner,以便在数组中返回它的值 我的代码返回未定义的如何在javascript中访问内部嵌套对象?,javascript,Javascript,如何到达isBoatOwner,以便在数组中返回它的值 我的代码返回未定义的 pluck( [ { name: "Tim", isBoatOwner: true }, { name: "Matt", isBoatOwner: false }, { name: "Elie" } ], "isBoatOwner" ); function pluck(defObj, key) {
pluck(
[
{ name: "Tim", isBoatOwner: true },
{ name: "Matt", isBoatOwner: false },
{ name: "Elie" }
],
"isBoatOwner"
);
function pluck(defObj, key) {
let arr = [];
for (let i = 0; i < defObj.length; i++) {
if (Object.keys(defObj[i]) == key) {
arr.push(defObj[i][key]);
} else {
arr.push(undefined);
}
}
return arr.flat();
}
弹拨(
[
{姓名:“蒂姆”,isBoatOwner:true},
{name:“Matt”,isBoatOwner:false},
{姓名:“埃利”}
],
“isBoatOwner”
);
功能弹拨(除雾,按键){
设arr=[];
for(设i=0;i
您只需要一个简单的.map()
:
console.log(清除(
[
{姓名:“蒂姆”,isBoatOwner:true},
{name:“Matt”,isBoatOwner:false},
{姓名:“埃利”}
],
“isBoatOwner”
));
功能弹拨(除雾,按键){
返回除雾映射(功能(obj){
返回obj[键];
});
}
在代码中,您试图将数组与字符串进行比较,以查看属性是否存在。这是永远不会匹配的
功能弹拨(除雾,按键){
设arr=[];
for(设i=0;i console.log(result);
Object.keys(defObj[i])==key
您正在将数组与字符串进行比较。感谢您向我解释。我为这个问题困扰了半天。我现在真的明白了。