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

How to get last item from array of object?

本文关键字:一项 最后 获取 对象 数组      更新时间:2023-09-26

我有来自服务器的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": []
    }]
}]

如果您在上下文中尝试以下代码,就会得到结果。

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

控制台将显示字符串输出。。。

谢谢,Paras

我不是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数组的长度,然后转到其最后一个索引以获取其值。我不是这门语言的专业人士,所以不能给出示例代码。很抱歉