使用AngularJS

时间:2016-12-15 01:59:43

标签: javascript angularjs arrays

我有一个包含JavaScript对象数组的自定义指令。

这个对象有点复杂和冗长,但我会显示类似的东西来指出我的问题:

JSON.stringify显示以下内容:

[
  {
    "Id": 1,
    "Name": "John Doe",
    "EMail": "john@doe.com"
  },
  {
    "Id": 2,
    "Name": "Jim Doe",
    "EMail": "jim@doe.com"
  },
  {
    "Id": 3,
    "Name": "Jeff Doe",
    "EMail": "jeff@doe.com"
  }
]

我正在进一步使用ng-repeat在我的HTML上以表格形式显示值。

这些值来自API调用,它从数据库中获取它们。

我想交换 - 用Id 1表示整个对象,用Id 3表示整个对象,这样在表格显示期间,我可以先看到Id 3对象的详细信息,最后看到Id 1对象的详细信息,而不会破坏任何功能。

在前端内执行此操作的最佳解决方案是什么?

2 个答案:

答案 0 :(得分:1)

如何使用临时变量交换它们?

var arr = [{"Id":1,"Name":"John Doe","EMail":"john@doe.com"},
 {"Id":2,"Name":"Jim Doe","EMail":"jim@doe.com"},
 {"Id":3,"Name":"Jeff Doe","EMail":"jeff@doe.com"}]
 var tmpObj = arr[0];
 arr[0] = arr[2];
 arr[2] = tmpObj;

答案 1 :(得分:0)

如果要反转数组,请使用Array.prototype.reverse()



var app = angular.module("myApp", []);

app.controller("myController", function($scope) {
  var arr = [
    {
      "Id": 1,
      "Name": "John Doe",
      "EMail": "john@doe.com"
    },
    {
      "Id": 2,
      "Name": "Jim Doe",
      "EMail": "jim@doe.com"
    },
    {
      "Id": 3,
      "Name": "Jeff Doe",
      "EMail": "jeff@doe.com"
    }
  ];
  
  $scope.array = arr.reverse();

});

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.6.0/angular.min.js"></script>

<div ng-app="myApp">
  <div ng-controller="myController">
    <div ng-repeat="item in array">
      {{item.Id}} - {{item.Name}} - {{item.EMail}}
    </div>
  </div>
</div>
&#13;
&#13;
&#13;