我有兩組數組,$scope.Skills
和$scope.skillslist
。根據數組中的值設置數組值[Angular,for each]
的Skills
陣列有一噸的價值觀,所以我只包括相關的問題的:
$scope.Skills = [
{LotsOfValues: "blah", Skill_Values__c: "1"},
{LotsOfValues: "blah", Skill_Values__c: "2"},
{LotsOfValues: "blah", Skill_Values__c: "3"}
];
而且skillslist
陣列:
$scope.skillslist = [
{Skill_Values__c: "1", Checked: ""},
{Skill_Values__c: "2", Checked: ""},
{Skill_Values__c: "3", Checked: ""},
{Skill_Values__c: "4", Checked: ""},
{Skill_Values__c: "5", Checked: ""},
{Skill_Values__c: "6", Checked: ""},
{Skill_Values__c: "7", Checked: ""}
];
我想要做什麼對於skillslist
中的每個項目,針對Skills
中的項目運行它,如果匹配,則將檢查項設置爲true,如果未將其設置爲false。這如何實現?
我使用foreach功能,這是我到目前爲止有:
angular.forEach(skills, function (value) {
console.log("FOR EACH");
for (var i = 0; i <= $scope.skillslist.length; i++) {
if ($scope.skillslist[i].Skill_Values__c === value.Skill_Values__c) {
$scope.skillslist[i].Checked = "Added";
} else {
$scope.skillslist[i].Checked = "no";
}
}
});
但馬上我知道我做錯了,因爲我應該尋找的forEach skillslist
吧?但是當我這樣做時,我不知道如何改變每個Checked值。換一切Skills
爲skillslist
沒有幫助。
在我的ng-repeat skillslist
中,我看到第一個項目的Checked值爲「Added」,其餘的Checked值爲「no」。
我一直在閱讀forEach示例,但找不到與我正在嘗試做什麼有關的事情,以這種方式引用兩個不同的數組。任何指針將不勝感激!
風格建議:變量名一般不應該大寫,不使用像哨兵值「添加「和」否「使用內置的布爾值。 –
謝謝,下次還會記住小寫!我只使用「添加」和「否」,因爲它們涉及到應用於ng-repeat項目的css類,我真的不想要類名稱爲true/false – intoodeep