Your question is a bit unclear therefore a somewhat generic answer:
When you subscribe to an observable that emits arrays then there is nothing different whether you get that array from an observable or not (at least after you actually got it).
To get the first person subscribe to the observable and just access the first element of the array like
getSomeObservableArrayOfPeople().subscribe(data => this.person = data[0]);
If the observable doesn't emit an array of people but a sequence of events of people then you can use operators like
getSomeObservableOfPeople().skip(3).take(1).subscribe(data => this.person = person);
This only takes the 4th person and ignores all others.
Hint: operators like skip and take need to be imported explicitly to be available.
For observables that emit a sequence of person events like assumed in the example above, this sequence can be collected to an array like using the scan operator:
getSomeObservableOfPeople().scan(3).subscribe(data => {
if(data.length >= 3) {
this.person = data[2];
}
})
Every time a new person is emitted, the callback passed to subscribe is called with the array where the people emitted by previous events are combined with the person emitted by the last event.
Observable<Person>but you're asking aboutObservable<Person[]>. Are you trying to convert one to another?