Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/wix/2.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
TypeError:无法读取属性';1';尝试导航javascript对象时未定义的_Javascript - Fatal编程技术网

TypeError:无法读取属性';1';尝试导航javascript对象时未定义的

TypeError:无法读取属性';1';尝试导航javascript对象时未定义的,javascript,Javascript,我想定位并从Javascript对象提取数据 目标是: let object = { a: 2, b: { c: "x", d: [1, { e: 3 }] } }; 我想得到{e:3}对象 如果我这样做: object = object['b']; // Result is { c: "x", d: [1, { e: 3 }] } object = object['d']; // Result is [1, { e: 3 }] object = object['1']; // Res

我想定位并从Javascript对象提取数据

目标是:

let object = { a: 2, b: { c: "x", d: [1, { e: 3 }] } };
我想得到
{e:3}
对象

如果我这样做:

object = object['b'];  // Result is { c: "x", d: [1, { e: 3 }] }
object = object['d'];  // Result is [1, { e: 3 }] 
object = object['1'];  // Result is { e : 3 }
然而,如果我这样做

let object = { a: 2, b: { c: "x", d: [1, { e: 3 }] } };
const path = 'b.d.1';

for(const pathPart in path.split('.')) {
  object = object[pathPart];
  console.log(`object = ${object}`);
  console.log(`pathPart = ${pathPart}`);
}
我得到:

TypeError: Cannot read property '1' of undefined 
您的代码:

for(const pathPart in path.split(‘.’))
这会将索引0、1、2放入
pathPart
,而不是数组成员

在for循环中将
中的
切换到
中的

您的代码:

for(const pathPart in path.split(‘.’))
这会将索引0、1、2放入
pathPart
,而不是数组成员


在for循环中将
中的
切换到
中的

console.log(pathPart)
并查看得到的结果。我猜您正在尝试迭代
path.split('.')
,也许您应该尝试
for…of
这可能吗?问题中还有两行没有显示的代码告诉您错误是什么:
object=undefined
pathPart=0
;如果你在失败之前移动日志,你会得到更多。
console.log(pathPart)
看看你得到了什么。我想你是在尝试迭代
path.split('.')
,也许你应该试试
,看看这可能是什么?问题中还有两行没有显示的代码告诉您错误是什么:
object=undefined
pathPart=0
;如果你在失败之前移动日志,你会得到更多。