javascript - AngularJS json多维数组看起来不像它应该的那样

标签 javascript arrays json angularjs multidimensional-array

这是一个 AngularJS 问题;我有一个简单的表格:

<input type="text" class="form-control" id="qus" placeholder="Enter Question" ng-model="qus">
<input type="text" class="form-control" id="op1" placeholder="Option 1" ng-model="op1">
<label><input type="checkbox" ng-model="correct1">Correct</label>
<button class="form-control btn btn-primary" ng-click = "save()">Save</button>
<pre  ng-bind="dataShow"></pre>

脚本:

var app = angular.module('qApp', []);
app.controller('qCtrl', function($scope) {
    var set = [];
    var op1 = [];
    $scope.save = function (){
        if($scope.correct1!==true){$scope.correct1=false;}      
        op1.push($scope.op1, $scope.correct1);
        var qus = [$scope.qus, op1];
        set.push(qus);
        $scope.dataShow = JSON.stringify(set); 
    };

});

输出:

在对第一个条目使用 JSON.stringify 后,输出如下所示:

[
 ["q1",["o1",false]]
]

第二个条目的输出是:

[
 ["q1", ["o1",false,"o2",true]], 
 ["q2", ["o1",false,"o2",true]]
] 

但我想要这样的东西:

[
 ["q1", ["o1",false,]], 
 ["q2", ["o2",true]]
]

该怎么做? true/false 是复选框的值。

最佳答案

@Nagesh Sanika 是正确的。每个问题都会有一个选项列表。因此,每次将新问题添加到集合中时,您都可以创建选项数组。

var app = angular.module('qApp', []);
app.controller('qCtrl', function($scope) {
    var set = [];

    $scope.save = function (){
        var op1 = [];  // Moved it inside the save method
        if($scope.correct1!==true){$scope.correct1=false;}      
        op1.push($scope.op1, $scope.correct1);
        var qus = [$scope.qus, op1];
        set.push(qus);
        $scope.dataShow = JSON.stringify(set); 
    };

});

这是 plunker .

关于javascript - AngularJS json多维数组看起来不像它应该的那样,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32436972/

相关文章:

javascript - 具有可变属性的目标 JSON 对象

javascript - json和多维数组

javascript计算器到小数位和图像作为按钮

arrays - 循环遍历工作表范围

Java 8 - 使用 JsonObject (javax.json) - 如何确定一个节点是否有子节点?

java - 使用 Gson 将 json 转换为 Map.Entry 对象

javascript - 编辑可操作网格的单元格属性

javascript - 如何从这个序列化字符串创建 PHP 数组?

javascript - 频繁的文件读取与访问巨大的数组

java - 按字母排序字符串数组,然后按数字排序