如何使用Angular访问数组中的“数组”?

时间:2018-12-21 08:39:41

标签: javascript arrays angular typescript

我在组件内部创建了一个数组,该数组组合了一个名称,然后是另一个数组,该数组具有选择名称的次数。

我正在努力将第二个数组(在第一个数组内)转换为数字或说类似Array.length的内容。

这是注销的阵列:

0: (2) ["Elliott Lester", Array(4)]
1: (2) ["Frank Miller", Array(3)]
2: (2) ["Adam McKay", Array(3)]
3: (2) ["Zola", Array(3)]
4: (2) ["Saul Metzstein", Array(3)]
5: (2) ["Baltasar Kormákur", Array(2)]
6: (2) ["J.A. Bayona", Array(2)]
7: (2) ["Katsuhiro Ôtomo", Array(1)]
8: (2) ["Darren Aronofsky", Array(1)]
9: (2) ["Alex Proyas", Array(1)]
10: (2) ["Andy Humphries", Array(1)]
11: (2) ["Ken Loach", Array(1)]
12: (2) ["Francis Ford Coppola", Array(1)]
13: (2) ["Andrew Stanton", Array(1)]
14: (2) ["Danny Boyle", Array(1)]
length: 15
__proto__: Array(0)

//component code

  let data = groupBy(this.mom,'name')
  this.data = Object.keys(data);
  this.values = Object.keys(data).map(key => data[key]);
  const voting = {};
  this.data.forEach((key, idx) => voting[key] = this.values[idx])
  let votesresults = [];
  for (var player in voting) {
    votesresults.push([player, voting[player]]);
  }
  votesresults.sort(function(a,b){
    return  b[1].length - a[1.].length;
  });
  this.values = votesresults;
  console.log(votesresults);

我想将数组显示为:

4岁的Elliott Lester-但似乎不知道如何做到。任何麻烦将不胜感激。

我尝试将长度绑定到称为值的数组,这样:

{{ values[i].length }} - this just displays the length of the entire array. 
{{ values[i].Array.length }} - knew this wouldn't work, but gave it a try anyway, because I was out of ideas! 

1 个答案:

答案 0 :(得分:3)

据我了解,这应该是您的数组对象,这是从中获取所需结果的方法。

const array = [
  [
    "Elliott Lester",
    [
      {id: 71, status: 1, sort: null, number: 9, name: "Elliott Lester"},
      {id: 65, status: 1, sort: null, number: 10, name: "Elliott Lester"},
      {id: 66, status: 1, sort: null, number: 10, name: "Elliott Lester"},
      {id: 83, status: 1, sort: null, number: 9, name: "Elliott Lester"}
    ]
  ],
  [
    "Frank Miller",
    [
      {id: 71, status: 1, sort: null, number: 9, name: "Frank Miller"},
      {id: 65, status: 1, sort: null, number: 10, name: "Frank Miller"},
      {id: 66, status: 1, sort: null, number: 10, name: "Frank Miller"}
    ]
  ],
  [
    "Adam McKay",
    [
      {id: 71, status: 1, sort: null, number: 9, name: "Adam McKay"},
      {id: 65, status: 1, sort: null, number: 10, name: "Adam McKay"},
      {id: 66, status: 1, sort: null, number: 10, name: "Adam McKay"}
    ]
  ]
];
array.forEach(function(data){
  console.log(data[0], data[1].length);
});