【问题标题】:How to Get Last Array如何获取最后一个数组
【发布时间】:2014-04-17 22:38:15
【问题描述】:

使用cheerio,我设法抓取了一个PHP 生成的表,其中包含一列日期、位置等。由于行数是可变的,我选择使用.map() 来遍历每一行,设置将开始事件日期 (startDate) 与提供的 CSS 选择器匹配。上述过程似乎运行良好,因为当我调用 console.log(startDate) 时,我收到下面的输出。但是,似乎该进程每次移动到下一行时都会创建一个数组,每次都附加一个额外的日期。如何将变量设置为仅数组 startDate 中的最后一个数组?

[ '03/18/2014' ]
[ '03/18/2014', '03/01/2014' ]
[ '03/18/2014', '03/01/2014', '02/15/2014' ]
[ '03/18/2014', '03/01/2014', '02/15/2014', '01/31/2014' ]
[ '03/18/2014',
  '03/01/2014',
  '02/15/2014',
  '01/31/2014',
  '01/17/2014' ]
[ '03/18/2014',
  '03/01/2014',
  '02/15/2014',
  '01/31/2014',
  '01/17/2014',
  '12/06/2013' ]
[ '03/18/2014',
  '03/01/2014',
  '02/15/2014',
  '01/31/2014',
  '01/17/2014',
  '12/06/2013',
  '11/16/2013' ]

因此,console.log(newArray) 的期望输出将是:

[ '03/18/2014',
  '03/01/2014',
  '02/15/2014',
  '01/31/2014',
  '01/17/2014',
  '12/06/2013',
  '11/16/2013' ]

【问题讨论】:

    标签: javascript jquery arrays cheerio


    【解决方案1】:

    如果 startDate 是一个数组,你应该能够通过使用索引来获取数组中的最后一项,如下所示:

    var lastStartDate = startDate[startDate.length-1]; //now lastStartDate contains the last item in the array
    

    【讨论】:

    • 跟进:这似乎会导致输出 '03/18/2014 03/01/2014 02/15/2014 01/31/2014 01/17/2014 12/06/ 2013 11/16/2013' 无论如何我可以让它输出'[03/18/2014, 03/01/2014, 02/15/2014, 01/31/2014, 01/17/2014, 12/06 /2013, 11/16/2013']'
    • 你想把它输出成一个字符串,用逗号连接吗?
    • 一个数组,由逗号分隔的各个字符串(日期)。据我所知,使用 startDate[startDate.length-1] 输出 7 个字符串,但该输出未连接到数组中。如上所述,我希望能够输出一个数组,而不是简单地输出最后一个数组中的元素。
    • 如果 startDate 是一个数组数组,那么我提供的答案将得到 startDate 数组中的最后一个数组。如果 startDate 是别的东西,我需要更好地理解它是什么才能提供不同的答案。为什么你认为它输出用空格分隔的日期字符串?我的回答只有在 startDate 中的最后一个数组是这样的情况下才会这样做。
    • 抱歉,我未能正确识别我们正在处理的类型。 startDate 是一个数组,其中包含一系列日期,每次都附加一个附加日期,直到所有日期都附加到数组中。我发现cheerio 将这些日期作为对象输出。所以我们有一个数组(startDate),每次在选择器上进行匹配时,它都会被迭代,它——在它的最后一次匹配/迭代中——包含一个对象列表(日期)。我只想输出所有匹配对象产生的最终数组,
    猜你喜欢
    • 2016-02-16
    • 2011-01-21
    • 2022-06-28
    • 1970-01-01
    • 2020-07-03
    • 2022-09-29
    • 1970-01-01
    • 2014-09-26
    • 2021-07-25
    相关资源
    最近更新 更多