首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法将项添加到数组

问无法将项添加到数组
EN

Stack Overflow用户
提问于 2015-04-27 06:17:08
回答 1查看 77关注 0票数 0

我试图向数组中添加一个新节点,我认为这是在调用createList()时已经创建的一个新的空数组,所以我肯定做错了什么,因为我得到了一个list.nodes未定义的错误。

代码语言:javascript
复制
var head = createNode(null);

var list = createList();
list.nodes.push(head); // error is here, undefined array

function List(){

  this.nodes = [];
  this.addNodeToList = addNodeToList;

  function addNodeToList(data){

    var currentNode = head;
    var newNode = createNode(data);

    while(currentNode.getNextNode() != null){
      currentNode = currentNode.getNextNode();
    }

    currentNode.nextNode = newNode;

    return;
  }
}


function createNode(data){
    return new Node(data);
}

function createList(){
  return new List();
}

function Node(data){
  this.data = data;
  this.nextNode = null;
}

function createList(){
  return new Node(null);
}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-27 06:23:14

您定义了两次creatList函数。后面的定义不返回节点数组:

代码语言:javascript
复制
 function createList(){
  return new Node(null);
}

删除它,你应该会没事的

编辑:考虑以下几点:

代码语言:javascript
复制
var a = 5;
var a = 6;
//OR
var f = function (){ alert(1)}
var f = function (){ alert(2)}

由于JS不支持函数重载,所以声明一个函数两次与上面的赋值具有相同的效果,后者隐藏了更好的效果。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29888487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档