如何从Object检索数据并将其存储到数组中

时间:2017-12-01 19:49:50

标签: javascript arrays json angular typescript

我在Angular2中编写项目,我想在其中获取JSON并检索数组中的所有rooms

这是我的服务,它帮助我找到正确的json文件

@Injectable()
export class RoomlistService {

  constructor(private http: Http) { }
  getRooms(room) {
    console.log('get all rooms: ');
    return this.http.get('../../assets/rooms/' + room + '.json')
      .map(response => response.json());
  }
}

这是我的组件,它使用此服务并获取数据

  ngOnInit() {
    this.routeUrl.paramMap.subscribe( (param) => {
      this.buildingID = param.get('id');
      this.service.getRooms(this.buildingID).subscribe(data => {
        console.log(data);
      });
    });
  }

所以,现在它工作正常,而console.log我得到了object

enter image description here

我想要的是获取所有rName并将其存储到数组中。 但我尝试的一切都没有帮助我。你能帮我解决一下吗?

2 个答案:

答案 0 :(得分:1)

不清楚data对象的结构与你的任务中的图像有什么关系,但我认为这样可行:

var arr = Object.keys(data).map(k => data[k].rName);

答案 1 :(得分:1)

您也可以更清洁地使用“.map”。

 let roomArray = data.map(roomObject => {return roomObject.rName})