如何从对象数组中获取最后一项?

时间:2016-05-09 20:13:31

标签: javascript angularjs

我有来自服务器的JSON对象,并且要求始终显示数组items中的最后一项。如何使用AngularJs或本机JavaScript实现该任务?

以下情况我必须显示文字Chief Administrative Officer

main.js

  angular.forEach($scope.rcsaErhTreeData, function(val) {
      angular.forEach(val, function(val) {
          console.log('this is the array value', val[0].text);
      });
  });

json.js

[{
    "uid": null,
    "index": 0,
    "selected": null,
    "expanded": null,
    "id": 2701,
    "text": "BAC Enterprise Wide",
    "parentId": 0,
    "items": [{
        "uid": null,
        "index": 0,
        "selected": null,
        "expanded": null,
        "id": 4114,
        "text": "Chief Administrative Officer",
        "parentId": 2701,
        "items": []
    }]
}]

2 个答案:

答案 0 :(得分:-1)

如果您在上下文中尝试以下代码,您将获得结果。

console.log(JSON.stringify(items[items.length - 1]));

控制台将显示字符串化输出...

谢谢, 第

答案 1 :(得分:-2)

我不是Angular.js程序员,但概念是: 1.在循环中执行它并用下一个值覆盖变量值,这样,最后一个值将保持不变。 - 由于性能问题不推荐使用,并且可以在没有循环的情况下使用循环。 伪代码:

var outVal='';
angular.forEach($scope.rcsaErhTreeData, function(val) {
      angular.forEach(val, function(val) {
          outVal = val[0].text);
      });
  });
console.log('this is the last item value', outVal);
  1. 另一种方法是找到val数组的长度,并转到它的最后一个索引来获取它的值。我不是这种语言的专业人士所以不能给出一个示例代码。对不起。