Предполагая, что teaherList
предназначен для массива объектов, вот метод, который не требует в зависимости от библиотеки, а также создает выходной объект за один проход (итоговые итерации = длина массива) с помощью reduce
:
const teaherList = [
{teacherID:1,teacherName:"john"},
{teacherID:2,teacherName:"joe"},
{teacherID:3,teacherName:"jill"},
{teacherID:1,teacherName:"john"},
{teacherID:2,teacherName:"joe"},
{teacherID:3,teacherName:"jill"},
{teacherID:1,teacherName:"john"},
{teacherID:2,teacherName:"joe"},
{teacherID:3,teacherName:"jill"},
];
console.log(
teaherList.reduce((a, { teacherName }) => (
Object.assign(a, { [teacherName]: (a[teacherName] || 0) + 1 })
), {})
);
позвольте сделать объект из ваших опций, таких как
$scope.model = {};
$scope.model.RegionId = "1";
$scope.model.countries = [{
id: "1",
name: "USA"
}, {
id: "2",
name: "Europe"
}, {
id: "3",
name: "APAC"
}];
});
и в html
<div>
Targeted Region :
<select ng-model="model.RegionId" ng-options="country.id as country.name for country in model.countries">
<option value="">-- please choose Targeted Region --</option>
</select>
</div>
<div>
Targeted-Id : {{model.RegionId}}
</div>
таким образом, чтобы вы могли при любой установке значения модели проверяться. и если нет, пожалуйста, выберите Targeted Region .
также не забудьте присвоить значение из API для ng-модели