Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.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_Arrays_Nested Lists - Fatal编程技术网

Javascript 嵌套列表到数组

Javascript 嵌套列表到数组,javascript,arrays,nested-lists,Javascript,Arrays,Nested Lists,我正在努力处理这个kata,它指示我从嵌套列表创建一个数组。我可以找到关于如何使用Java实现这一点的解释,但这对我来说仍然有点困惑 这就是我到目前为止得到的 函数列表阵列(列表){ var listary=[]; 对于(变量i=0;i

我正在努力处理这个kata,它指示我从嵌套列表创建一个数组。我可以找到关于如何使用Java实现这一点的解释,但这对我来说仍然有点困惑

这就是我到目前为止得到的

函数列表阵列(列表){
var listary=[];
对于(变量i=0;i使用递归实现

函数列表阵列(列表){
var-res=[];
Object.keys(list.forEach)函数(k){
if(列表类型[k]='object'&&list[k]!==null)
[].push.apply(res,listToArray(list[k]));
else if(列表[k]!==null)
res.push(列表[k]);
});
返回res;
};
变量列表1={
价值:1,
下一步:{
价值:2,
下一步:{
价值:3,
下一个:空
}
}
};
变量列表2={
值:“foo”,
下一步:{
值:“条”,
下一个:空
}
};
console.log(listToArray(list1));

console.log(listToArray(list2))这只是一个链表指针追逐:

function listToArray(list) {
  var listArray = [];
  while (list !== null) {
    listArray.push(list.value);
    list = list.next;
  }
  return listArray;
};
使用递归的另一种解决方案:

var list1={value:1,next:{value:2,next:{value:3,next:null}};
var list2={value:“foo”,next:{value:“bar”,next:null};
函数convertToArray(列表、结果){
结果.推送(列表.值);
list.next&&convertToArray(list.next,result);
返回结果;
}
log(convertToArray(列表1,[]);

log(convertToArray(列表2,[])您只需深入挖掘对象,直到到达
null

var list1={value:1,next:{value:2,next:{value:3,next:null}};
var list2={value:“foo”,next:{value:“bar”,next:null};
函数listToArray(列表){
var curr=list,arr=[];
while(curr!=null){
arr.push(当前值);
curr=curr.next;
}
返回arr;
}
console.log(listToArray(list1));

console.log(listToArray(list2))非常简单。谢谢你的回答。你能解释一下什么是链表指针追踪吗?或者告诉我在哪里可以了解它?快速的谷歌搜索并没有显示太多。