【问题标题】:How to get last property value in JS Object [duplicate]如何在 JS 对象中获取最后一个属性值 [重复]
【发布时间】:2017-10-19 10:22:17
【问题描述】:

这里每次用户选择某个选项时,添加节点对象和状态,我需要发布最后一个节点对象的状态

var breadCrumb = [{
      breadCrumbN: {
          node: {
            state: "test",
            node: {
              state: "test^test2",
              node: {
                state: "test^test2^test3",
                node: {
                 state: "test^test2^test3^test4" // like to post the last state. the node object will be added for each selection
                }
              }
            }
          }
        }
    }]

【问题讨论】:

  • 看起来你正在寻找树遍历,如果你知道那是什么的话。
  • 所以,您需要继续深入遍历,直到用完 node 属性,只剩下 state 属性?

标签: javascript arrays object


【解决方案1】:

用递归试试这个解决方案。

let obj =  {
   node: {
      state: "test",
      node: {
         state: "test^test2",
         node: {
            state: "test^test2^test3",
            node: {
               state: "test^test2^test3^test4"
            }
         }
      }
   }
};

function getLastNodeState(obj) {
   return obj.node ? getLastNodeState(obj.node) : obj.state;
}

console.log(getLastNodeState(obj));

【讨论】:

  • 我有一个数组中的对象,在那种情况下?
  • 没关系,你需要为每个项目的breadCrumbN属性调用这个函数-getLastNodeState(item.breadCrumbN)
  • 酷,明白了。谢谢!此处: var x = functionchas() { var y = { name: "test" } return y } 如何将最后一个值添加到 y 对象?
  • 你可以从我上面的代码中得到的不是state属性,而是对象本身
  • 上面的 sn-p 效果很好。我将结束值附加到一个变量。现在我只想将该变量添加到上述结构中的对象中。 var x = functionchas() { var y = { name: "test" } return y }
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-10-22
  • 2015-07-05
  • 1970-01-01
  • 2019-03-05
  • 1970-01-01
  • 2020-01-30
  • 2019-12-23
相关资源
最近更新 更多