【问题标题】:In Array Insert Nodes inside Node Programmatically在数组中以编程方式在节点内插入节点
【发布时间】:2016-11-23 10:35:10
【问题描述】:

在水果数组中,我有两个对象水果和蔬菜。在 Fruit 对象中,我有两个节点 apple 和 mango。在 Apple 节点下,我还有另外两个节点 Red apple 和 green apple。

像这样以编程方式我必须在蔬菜下添加另一个新节点。

$(function() {

        var alternateData = [
          {

        text: 'Fruits',

        nodes: [
          {
            text: 'apple',

            nodes: [
              {
                text: 'Red apple'
              },
              {
                text: 'green apple'
              }
            ]
          },
          {
            text: 'mango'
          }
        ]
      },
      {
        text: 'vegetables'

      },
];

【问题讨论】:

  • C# 和这个问题有什么关系?

标签: javascript c# arrays


【解决方案1】:
var alternateData = [{text: 'Fruits',
    nodes:[{text: 'apple',
          nodes: [{text: 'Red apple'},
                  {text: 'green apple'}]},
          {text: 'mango'}]},{text:'vegetables',nodes:[]}];

var newNode = {text:"veg1",nodes:[]};
alternateData[1].nodes.push(newNode);

只要在原始数组中定义一个空节点,就可以将任意数量的节点推送或弹出到“vegetables”元素中。

【讨论】:

  • 好的,谢谢您的回复。我们可以以编程方式将空节点插入“蔬菜”元素吗?因为最初我的数组将为空。如果是,请告诉我怎么做??
  • 你总是可以定义一个空数组。看看我的编辑
【解决方案2】:
if(!alternateData[1].nodes) {
   alternateData[1].nodes = [];
}

alternateData[1].nodes.push(newNode);

【讨论】:

  • Uncaught TypeError: Cannot read property 'push' of undefined(...) 收到此错误。如果我使用它。谢谢
  • 已更新。看起来您的 alternateData[1] 节点没有“节点”属性来存储它的子节点。
猜你喜欢
  • 1970-01-01
  • 2015-07-30
  • 1970-01-01
  • 1970-01-01
  • 2016-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多