仅从数组中获取值(不使用键)

时间:2017-12-04 19:29:12

标签: jquery arrays

我有这个功能:

//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进行循环,但总是返回空[]或函数的错误。

有人知道如何解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

阵列推送应该是您正在寻找的。

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);

https://jsfiddle.net/afje1Lhb/

答案 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());