遍历数组对象的最佳方法

时间:2018-09-15 20:37:30

标签: javascript loops

leagueInfo = {"data":[{"tier":"Gold"},{"tier":"Bronze"}]}

到目前为止,我已经做了2次这样的循环:

for (const key of Object.keys(leagueInfo)) {
  console.log('5on5 ranked', leagueInfo[key]);
  // Array (2)  is output

  for (const values of leagueInfo[key]) {
    console.log('5on5 ranked', values.tier );
    // Output is :
    // Gold
    // Bronze
  }
}

我真的需要2个循环吗?或者有更短的方法吗?

3 个答案:

答案 0 :(得分:2)

leagueInfo.data.forEach(item => console.log(item.tier));

答案 1 :(得分:1)

有几种方法。

您可以使用lodashunderscore库中的方法,这些方法是.foreachfor循环工作方式的副本。

如果您拥有的数据始终相同且与发布的数据相似,则可以执行以下操作以遍历数组中的数据项。请记住,您正在执行的第一次迭代是没有用的,因为您可以直接访问该属性。

var leagueInfo = {"data":[{"tier":"Gold"},{"tier":"Bronze"}]}

leagueInfo.data.forEach((item) => {
  console.log(item);
  console.log(item.tier);
})

答案 2 :(得分:0)

有很多方法可以迭代对象或数组。通常情况下,针对特定目标的功能必须经过专门调整。如果只想获得use Net::SSH2 use File::Slurp; print "\nEnter command list filename: "; my $commandlist = <STDIN>; chomp($commandlist); my @commandfile = read_file($commandlist, chomp => 1); my $commandsize = @commandfile; 迭代结果,则可以使用console.log

.map()

这是W3Schools的链接,您可以在其中找到数组的所有可能动作。 https://www.w3schools.com/jsref/jsref_obj_array.asp