[英]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.