Как извлечь 2 свойства из массива объектов в качестве наблюдаемого? - PullRequest
0 голосов
/ 08 июня 2018

У меня есть наблюдаемый массив объектов, который выглядит следующим образом:

[
  {
    id: 1,
    name: "New York",
    latitude: 15.5539737,
    longitude: -78.5989487
  },
  {
    id: 2,
    name: "Chicago",
    latitude: 55.5539737,
    longitude: 28.5989487
  },
  {
    id: 3,
    name: "Los Angeles",
    latitude: 95.5539737,
    longitude: -72.587
  }
]

Как я могу вернуть новый наблюдаемый массив объектов, который извлекает только 2 свойства (широту и долготу)?

Ответы [ 2 ]

0 голосов
/ 24 июня 2018
const arr = [
  {
    id: 1,
    name: "New York",
    latitude: 15.5539737,
    longitude: -78.5989487
  },
  {
    id: 2,
    name: "Chicago",
    latitude: 55.5539737,
    longitude: 28.5989487
  },
  {
    id: 3,
    name: "Los Angeles",
    latitude: 95.5539737,
    longitude: -72.587
  }
]

const example2= from(arr).pipe(map(a => {
  return {latitude: a.latitude, longitude: a.longitude,}
}));
const subscribe = example2.subscribe(val => console.log(val));
0 голосов
/ 08 июня 2018

Вы можете сначала использовать оператор карты из RxJS, затем использовать карту из массива следующим образом:

// first use the map operator from RxJS    
    YourObservable.map(x=>{
    // then use Array.prototype.map
        x.map(return {longiture:x.longitude, latitude:x.latitude})
        })

Не путайте две карты, использованные выше, one от RxJS и other от Array, оба совершенно разные.

Также обратите внимание, что если вы используете RxJS6, вам нужно использовать pipe следующим образом:

 YourObservable.pipe(
     map(x=>{
           x.map(return {longiture:x.longitude, latitude:x.latitude})
        }))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...