【发布时间】:2020-06-22 02:36:46
【问题描述】:
我正在尝试 Angular 的一些功能。我面临对象和数组的问题。假设我有一个自定义组件Filter 和一个服务FilterService。这是我的代码:
filter.component.ts
import { Component, OnInit } from '@angular/core';
import { FilterService } from '../services/sinsense-filter.service';
@Component({
...
})
export class FilterComponent implements OnInit {
public appliedFilters: string[] = []
constructor(public filterService: SisenseFilterService) {}
ngOnInit() {
var obj = this.filterService.filtersApplied;
var result = Object.keys(obj).map(function (key) {
return [Number(key), obj[key]];
// return [obj[key];
});
// this.appliedFilters=result;
// console.log(this.appliedFilters);
// console.log(typeof(result));
}
}
注意:我已经注释掉了我尝试过的解决方案
这是服务代码filter-service.ts
import { Injectable } from '@angular/core';
@Injectable({
providedIn: 'root'
})
export class FilterService {
filtersApplied: object;
constructor() {
this.filtersApplied = new Object();
this.filtersApplied={
property1: "value1",
property2: "value2",
property3: "value3"
}
}
}
我正在关注 GeeksForGeeks 上的一篇文章: How to convert an Object {} to an Array [] of key-value pairs in JavaScript?
但出现兼容性错误:
类型 'any[][]' 不能分配给类型 'string[]'。
类型 'any[]' 不能分配给类型 'string'。
请纠正我。我不希望最终数组中的键。我只希望appliedFilters 成为:
["value1", "value2", "value3"]
【问题讨论】:
标签: javascript typescript