0
$scope.items = [
{
sourceBuildingId: "B001",
sourceBuildingName: "Building 1",
destinationBuildingId: "B002"
destinationBuildingName: "Building 2" 
},
{
sourceBuildingId: "B003",
sourceBuildingName: "Building 3",
destinationBuildingId: "B002",
destinationBuildingName: "Building 2" 
},
{
sourceBuildingId: "B001",
sourceBuildingName: "Building 1",
destinationBuildingId: "B003",
destinationBuildingName: "Building 3" 
},
{
sourceBuildingId: "B002",
sourceBuildingName: "Building 2",
destinationBuildingId: "B004",
destinationBuildingName: "Building 4" 
}];

$scope.destinationBuildingIdList="";

How to fetch the distinct building ID list alone from $scope.items and store into $scope.destinationBuildingIdList variable?

3
  • @Sajeetharan The duplicated question selected only solves the "distinct" values from an array. It doesn't explain how to create a list based on attributes from other listed objects, as Sachila's answer illustrates. Is it right to close this? Commented May 11, 2017 at 14:58
  • 1
    @AFP_555 Main part of the question is similar to the link i attached. Rest is a matter of assignment. Hence it's a duplicate. Commented May 11, 2017 at 15:30
  • @Sajeetharan Just as a question, because I really don't know, can multiple duplicated be assigned to a question? Commented May 11, 2017 at 16:16

1 Answer 1

1

just use the javascript map function

$scope.destinationBuildingIdList= $scope.items.map(o=> o.destinationBuildingId)

demo

angular.module("app",[])
.controller("ctrl",function($scope){

$scope.items = [
      {
      sourceBuildingId: "B001",
      sourceBuildingName: "Building 1",
      destinationBuildingId: "B002",
      destinationBuildingName: "Building 2" 
      },
      {
      sourceBuildingId: "B003",
      sourceBuildingName: "Building 3",
      destinationBuildingId: "B002",
      destinationBuildingName: "Building 2" 
      },
      {
      sourceBuildingId: "B001",
      sourceBuildingName: "Building 1",
      destinationBuildingId: "B003",
      destinationBuildingName: "Building 3" 
      },
      {
      sourceBuildingId: "B002",
      sourceBuildingName: "Building 2",
      destinationBuildingId: "B004",
      destinationBuildingName: "Building 4" 
}];

$scope.destinationBuildingIdList= $scope.items.map(o=> o.destinationBuildingId)

console.log($scope.destinationBuildingIdList)
})
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="app" ng-controller="ctrl">
 
</div>

Sign up to request clarification or add additional context in comments.

2 Comments

Array.from(new Set($scope.items.map(o=> o.destinationBuildingId))) for unique values.
@AFP_555 great, it works fine.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.