我有这个功能:
//our root app component
import {Component, NgModule, VERSION} from '@angular/core'
import {BrowserModule} from '@angular/platform-browser'
@Component({
selector: 'my-app',
template: `
<div>
<button *ngFor="let item of items[category]" > {{item}}</button>
</div>
`,
})
export class App {
items: any = { cat1: ['cat1','cat2'], cat2: ['peter','peter2'] };
category = 'cat1';
constructor() {
}
}
@NgModule({
imports: [ BrowserModule ],
declarations: [ App ],
bootstrap: [ App ]
})
export class AppModule {}
输出是带有键的数组:
function getCotas() {
var values = [];
values['first'] = 10;
$('.loop.scota').each(function(key, value) {
var id = key + 1;
values[$('.sdate.id' + id).text()] = parseInt($(this).text());
});
return values;
}
我需要的只是数组的值,没有键:
[first: 160, 01/12/2017: 157, 04/12/2017: 153]
我已经尝试使用值like this answer进行循环,但总是返回空[]或函数的错误。
有人知道如何解决这个问题吗?
答案 0 :(得分:1)
阵列推送应该是您正在寻找的。 p>
values.push(parseInt($(this).text());
答案 1 :(得分:0)
请参阅以下示例代码:
var values = [];
values["key1"] = "value";
values["key2"] = "value";
var result = [];
for (var key in values) {
result = result.concat(values[key]);
}
alert(result);
答案 2 :(得分:0)
如果密钥不重要,您可以删除循环:
function getCotas() {
var values = [];
values[0] = 10; // first value
var elArr = $('.loop.scota').toArray();
values = values.concat(elArr.map(function (el) { return parseInt( $(el).text()); }));
return values;
}
console.info(getCotas());