Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在javascript中访问内部嵌套对象?_Javascript - Fatal编程技术网

如何在javascript中访问内部嵌套对象?

如何在javascript中访问内部嵌套对象?,javascript,Javascript,如何到达isBoatOwner,以便在数组中返回它的值 我的代码返回未定义的 pluck( [ { name: "Tim", isBoatOwner: true }, { name: "Matt", isBoatOwner: false }, { name: "Elie" } ], "isBoatOwner" ); function pluck(defObj, key) {

如何到达isBoatOwner,以便在数组中返回它的值

我的代码返回未定义的

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;iconsole.log(result);
Object.keys(defObj[i])==key
您正在将数组与字符串进行比较。感谢您向我解释。我为这个问题困扰了半天。我现在真的明白了。