我有一个包含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对象的详细信息,而不会破坏任何功能。
在前端内执行此操作的最佳解决方案是什么?
答案 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;