从数组中制作列表

网络潜水

口才的Java练习的麻烦任务是从数组中创建列表。

该列表如下所示:

var list = {
  value: 1,
  rest: {
    value: 2,
    rest: {
      value: 3,
      rest: null
    }
  }
};

网站上的解决方案的书是:

function arrayToList(array) 
{
  var list = null;
  for (var i = array.length-1; i>=0; i--) {
      list = {value: array[i], rest: list};
  }
  return list;
}

我了解它是如何工作的,但不知道为什么。就像我想象的那样,循环将重写列表对象,而其rest属性将指向包含它的对象。有人可以向我解释它的工作原理和作用吗?

我也在浏览器(Firefox 33)中尝试过该解决方案,并console.log(arrayToList([10,20]))打印出“ undefined”

韦斯顿

它始于数组的末尾,每次都将先前的结果包装到一个新对象中,这意味着结构越来越深。

尽管它循环遍历数组 [1,2,3]

第一个循环:

i = 2
array[2] is 3
list = {value: 3, rest: null}

第二:

i = 1
array[1] is 2
list = {value: 2, rest: {value: 3, rest: null}}

第三也是最后一个:

i = 0
array[0] is 1
list = {value: 1, rest: {value: 2, rest: {value: 3, rest: null}}}

至于打印undefined,我不明白为什么,但这可行:

    function arrayToList(array) 
    {
      var list = null;
      for (var i = array.length-1; i>=0; i--) {
          list = {value: array[i], rest: list};
      }
      return list;
    }

    $('#A').html(JSON.stringify(arrayToList([1, 2, 3])));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="A">test</div>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

数组中的JavaScript制作列表

来自分类Dev

Java从数组列表中制作子列表并存储到对象列表的数组列表中

来自分类Dev

从Excel中的列表制作列表?

来自分类Dev

Python从列表中制作列表

来自分类Dev

如何制作一个链接列表数组,其链接列表指向C中的矩阵行?

来自分类Dev

从python中的列表制作字典

来自分类Dev

在python输入中制作列表

来自分类Dev

在python输入中制作列表

来自分类Dev

在python中制作字典列表

来自分类Dev

在Codesys中的数组中制作子数组?

来自分类Dev

用列表和数组制作嵌套字典

来自分类Dev

从Numpy中的数组制作成对列表的有效方法

来自分类Dev

为对象VueJs中的每个数组项制作<li>列表

来自分类Dev

在Django中制作json数组

来自分类Dev

在C中制作char数组

来自分类Dev

从Python中的列表制作嵌套列表

来自分类Dev

如何从多个列表中制作元组列表?

来自分类Dev

如何为android studio中另一个数组列表中的每个值制作一个数组列表

来自分类Dev

如何从列表列表中制作平面列表?

来自分类Dev

如何从列表列表中制作平面列表?

来自分类Dev

如何从两个列表中制作列表列表

来自分类Dev

数组列表中数组的存在

来自分类Dev

从Excel中的导入列表制作表格

来自分类Dev

用csv中的木薯制作列表

来自分类Dev

我如何从元组列表中制作字典?

来自分类Dev

如何在scala中制作简单的列表?

来自分类Dev

制作可以在列表中定位的按钮

来自分类Dev

从两个列表中制作元组

来自分类Dev

用列表中的多个项目制作字典