【发布时间】:2015-11-25 01:23:32
【问题描述】:
我正在开发一个测验应用程序。我一直在尝试弄清楚如何在测验问题中随机排列选项。
我已经研究过,我发现最接近的是: shuffle array in ng-repeat angular
但是,我没有成功实现 shuffleArray() 函数。它对我不起作用。
我创建了一个 jsfiddle http://jsfiddle.net/fa4v8/121/
这是我的 ng-repeat:
<div ng-controller="MyCtrl">
<p ng-repeat="(key,i) in options">{{options[key].text}}</p>
</div>
这是我的控制器:
var myApp = angular.module('myApp', []);
function MyCtrl($scope) {
$scope.options = {
"d": {
"text": "Answer1-d"
},
"c": {
"text": "Answer1-c"
},
"a": {
"text": "Answer1-a"
},
"b": {
"text": "Answer1-b"
}
}
}
输出顺序如下:(a,b,c,d)
答案-a
答案-b
答案-c
答案-d
有没有办法让选项按 $scope.options (d,c,a,b) 的顺序显示或以随机顺序显示?
【问题讨论】:
-
如果您使用的是数组,这个答案会对您有所帮助:stackoverflow.com/questions/2450954/…。但是您似乎正在使用一个对象,因此您可能需要稍微调整一下。
-
你能告诉我如何修改我的 jsfiddle 以使其工作吗?
标签: javascript arrays angularjs ng-repeat javascript-objects