簡體   English   中英

如何在angularjs中將對象推送到數組?

[英]How to push object to array in angularjs?

這是我的代碼

$scope.studentDetails=[];

   $scope.studentIds={};
   $scope.studentIds[0]{"id":"101"}
   $scope.studentIds[1]{"id":"102"}
   $scope.studentIds[2]{"id":"103"}

在上面的代碼中,當我選擇學生id:101我從諸如

   $scope.studentMarks={};
   $scope.studentMarks[0]{"marks":"67"}
   $scope.studentMarks[1]{"marks":"34"}

接下來我選擇學生id:102我從類似的服務中獲得了分數

   $scope.studentMarks={};
   $scope.studentMarks[0]{"marks":"98"}
   $scope.studentMarks[1]{"marks":"85"}

最后我想將學生詳細信息存儲在一個數組中

$scope.studentDetails=[{"id":"101","marks":[67,34]},{"id":"102","marks":[98,85]}] 

使用angularjs。

似乎它更多的是一個JS問題,而不是角度問題。

Javascript push方法呢?

$scope.studentDetails.push({id: 101, marks: [67, 34]});

您可以使用的Array.push添加一個對象,或CONCAT,到CONCAT陣列到另一個陣列。 請參閱參考資料。

angularJS只是擴展Javascript的庫。 您可以像使用Javascript中的任何對象一樣將其壓入數組。

首先,您需要聲明一個數組。

$scope.studentIds = []; // Array of student ids.

然后,當您要添加時,請按:

$scope.studentIds.push({id: "101"});

要天真地做到這一點,您需要遍歷學生ID,然后遍歷marks對象,如果ID匹配,則將其添加到您的StudentDetails對象中:

var studentDetails = [];

for (var id in studentIds) {
    var studentDetail = {}; // this will be a single student
    var marks = [];    

    if (studentIds.hasOwnProperty(id)) {
        for (var mark in studentMarks) {
            if (studentMarks.hasOwnProperty(mark) && mark.id === id) {
                studentDetail.id = id;
                marks.push(mark.marks);
            }
        }
        studentDetail.marks = marks;
    }
    studentDetails.push(studentDetail);
}

$scope.studentDetails = studentDetails;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM