Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/418.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_Object - Fatal编程技术网

JavaScript:对象上的迭代(无法返回答案)

JavaScript:对象上的迭代(无法返回答案),javascript,object,Javascript,Object,我希望遍历整个对象以遍历给定对象中的所有值 我已经尝试过了,并且非常成功,但是因为我正在使用一个函数,所以我需要返回答案,但是我不能这样做。下面是我试过的代码 var d={ 姓名:“西蒙”, 年龄:"20岁",, 服装:{ 风格:“简单”, 时髦人士:错 } } 功能深度(目标){ 如果(目标的类型=='object'){ for(常量输入目标){ 深度(目标[关键]); } } 否则{ 控制台日志(目标); } } 深部(d)声明一个数组,推送该数组中的项。最后用\n加入数组并返回: v

我希望遍历整个对象以遍历给定对象中的所有值

我已经尝试过了,并且非常成功,但是因为我正在使用一个函数,所以我需要返回答案,但是我不能这样做。下面是我试过的代码

var d={
姓名:“西蒙”,
年龄:"20岁",,
服装:{
风格:“简单”,
时髦人士:错
}
}
功能深度(目标){
如果(目标的类型=='object'){
for(常量输入目标){
深度(目标[关键]);
}
}
否则{
控制台日志(目标);
}
}

深部(d)声明一个数组,推送该数组中的项。最后用
\n
加入数组并返回:

var d={
姓名:“西蒙”,
年龄:"20岁",,
服装:{
风格:“简单”,
时髦人士:错
}
}
var-res=[];
功能深度(目标){
如果(目标的类型=='object'){
for(常量输入目标){
深度(目标[关键]);
}
}
否则{
res.push(目标);
}
返回res.join('\n');
}

控制台日志(深(d))您可以通过小心返回的内容以及如何合并递归结果来实现这一点。您不应该需要外部阵列:

var d={
姓名:“西蒙”,
年龄:"20岁",,
服装:{
风格:“简单”,
时髦人士:错
}
}
功能深度(目标){
返回目标的类型!='object'|| target===null
?[目标]
:[].concat(…Object.values(target.map(deep))
}

console.log(deep(d))
是的,我试过了问题是什么?@Anonymus仔细阅读代码,他正在返回结果。