如何拆分 JavaScript 多维数组并获取最后一个数组?

     2023-03-08     81

关键词:

【中文标题】如何拆分 JavaScript 多维数组并获取最后一个数组?【英文标题】:How to split JavaScript mult-dimension array and get last array? 【发布时间】:2021-07-25 02:31:39 【问题描述】:

我有一个包含以下时间序列数据的数组。如何将数组拆分为 60 毫秒(不大于)的间隔并获取最后一个数组?

[
[1619932533,1781.85],
[1619932540,1781.72],
[1619932554,1781.99],
[1619932559,1783.84],
[1619932564,1783.02],
[1619932567,1780.38],
[1619932571,1780.52],
[1619932577,1780.38],
[1619932580,1783.07],
[1619932581,1782.17],
[1619932581,1782.17],
[1619932601,1782.95],
[1619932612,1782.7],
[1619932614,1782.82],
[1619932626,1782.82],
[1619932653,1784.12],
.....
]

我需要这样的最终数据吗?

[
[1619932533,1781.85],
[1619932581,1782.17],
[1619932653,1784.12]
]

*根据第一个值 1619932533 和 +60 进行拆分,然后继续......

【问题讨论】:

请添加您尝试过的代码。添加一个循环,将当前值与循环中的上一项和输出中的最后一项进行比较。 第一次是17:58:52.533,最后一次是17:58:52.653 - 它们之间没有60秒。你的意思是毫秒? @mplungjan 1619932533 + 601619932593。该范围内的最大数字是1619932581 【参考方案1】:

请尝试使用此代码。

var myObj, curr_time;
myObj = [[1619932533,1781.85],
         [1619932540,1781.72],
         [1619932554,1781.99],
         [1619932559,1783.84],
         [1619932564,1783.02],
         [1619932567,1780.38],
         [1619932571,1780.52],
         [1619932577,1780.38],
         [1619932580,1783.07],
         [1619932581,1782.17],
         [1619932581,1782.17],
         [1619932601,1782.95],
         [1619932612,1782.7],
         [1619932614,1782.82],
         [1619932626,1782.82],
         [1619932653,1784.12]];
curr_time = myObj[0][0];
var result = [];
result.push(myObj[0])
for (i = 1; i < myObj.length; i++) 
  if (myObj[i][0] - curr_time > 60) 
    result.push(myObj[i]);
    curr_time = myObj[i][0];
    

console.log('result', result);

【讨论】:

【参考方案2】:

也许是这个?我只得到两个相隔 60 毫秒的结果

const data = [
[1619932533,1781.85],
[1619932540,1781.72],
[1619932554,1781.99],
[1619932559,1783.84],
[1619932564,1783.02],
[1619932567,1780.38],
[1619932571,1780.52],
[1619932577,1780.38],
[1619932580,1783.07],
[1619932581,1782.17],
[1619932581,1782.17],
[1619932601,1782.95],
[1619932612,1782.7],
[1619932614,1782.82],
[1619932626,1782.82],
[1619932653,1784.12]
]

const times = data.reduce((acc,arr) => 
  const [d,val] = arr;
  if (acc.length===0) acc.push(arr)
  else if (d - acc[acc.length-1][0] >= 60) acc.push(arr)
  return acc
,[])
console.log(times)

【讨论】:

如果d - acc[acc.length-1][0] &gt;= 60,您需要获取data[i-1]并将其推送到输出(您必须使用第三个i参数来减少回调) 为什么? acc[acc.length-1] 包含数据中最后保存的值 条件正确。需要推送到acc的项是data数组中的前一项。 对不起,我不明白。请发布您自己的答案以根据您显示正确的值。我刚刚醒来,所以也许我太困了

如果javascript中不存在值,如何推送到多维数组

】如果javascript中不存在值,如何推送到多维数组【英文标题】:Howtopushtomulti-dimensionalarrayifvaluedoesnotexistinjavascript【发布时间】:2021-01-2710:16:28【问题描述】:我有一个多维数组,用于存储有关用户给出的问题和答案的信息,并... 查看详情

从 JavaScript 中的多维数组中获取数组值

】从JavaScript中的多维数组中获取数组值【英文标题】:GettingarrayvaluesfrommultidimensionalarrayinJavaScript【发布时间】:2016-08-2920:21:39【问题描述】:我需要一些小的帮助。我无法让一个填充了其他两个数组对象(larray1和larray2)的数... 查看详情

javascript获取数组最后一个元素(三种方法)(代码片段)

JavaScript获取Array末尾元素一、JavaScript pop() 方法pop()方法用于删除并返回数组的最后一个元素。注意:pop()方法将删除arrayObject的最后一个元素,把数组长度减1,并且返回它删除的元素的值。如果数组已经为空,则pop()不改... 查看详情

Javascript - 如何从数组列表中获取最后一条记录? [复制]

】Javascript-如何从数组列表中获取最后一条记录?[复制]【英文标题】:Javascript-Howtogetlastrecordfromarraylist?[duplicate]【发布时间】:2018-10-1204:38:51【问题描述】:我有一个数组列表,我只想要数组列表中的最后一条记录,如何获得... 查看详情

如何在 javascript 中访问多维 PHP 数组作为 json 编码的变体?

】如何在javascript中访问多维PHP数组作为json编码的变体?【英文标题】:HowtoaccessamultiDimensionalPHPArrayinjavascriptasjson-encodedvariant?【发布时间】:2011-09-2406:02:31【问题描述】:昨天问了一个问题后,我了解到我需要在Php中有一个数组... 查看详情

在javascript中获取复选框多维数组

】在javascript中获取复选框多维数组【英文标题】:fetchingcheckboxmultidimensionalarrayinjavascript【发布时间】:2012-03-1718:50:35【问题描述】:根据要求,我必须如下所述动态创建xhtml<ulclass="checklist"><li><inputtype="checkbox"name="leve... 查看详情

如何在 Javascript 中创建多维数组? [复制]

】如何在Javascript中创建多维数组?[复制]【英文标题】:HowtocreateamultidimensionalarrayinJavascript?[duplicate]【发布时间】:2012-01-1516:32:43【问题描述】:如何使用for循环在Javascript中创建多维数组?【问题讨论】:你有没有尝试过?【... 查看详情

如何过滤多维 JavaScript 数组

】如何过滤多维JavaScript数组【英文标题】:HowtofiltermultidimensionalJavaScriptarray【发布时间】:2012-03-0116:34:29【问题描述】:我有这些数据:varobject=["nid":"31","0":"tid":"20","name":"BenchPress","objectDate":"2012-02-08","goal":"rep","result":"55.00", 查看详情

JavaScript:自动对可变多维数组进行对角排序

】JavaScript:自动对可变多维数组进行对角排序【英文标题】:JavaScript:Automaticallyorderavariablemulti-dimensionalarraydiagonally【发布时间】:2011-08-1513:36:46【问题描述】:这更像是一道数学题。我正在尝试使用jQuery创建一个可爱的淡入淡... 查看详情

mysql表中的javascript多维数组-不知道那种对象对象是啥

】mysql表中的javascript多维数组-不知道那种对象对象是啥【英文标题】:javascriptmultidimensionalarrayoutofmysqltable-dontknowwhatsthatkindofObjectObjectmysql表中的javascript多维数组-不知道那种对象对象是什么【发布时间】:2017-06-2410:54:06【问题描... 查看详情

在多维数组javascript或coffeescript中获取最大值

】在多维数组javascript或coffeescript中获取最大值【英文标题】:Getlargestvalueinmulti-dimensionalarrayjavascriptorcoffeescript【发布时间】:2012-06-2409:03:27【问题描述】:我有一个如下所示的数组:array=[[1,5],[4,7],[3,8],[2,3],[12,4],[6,6],[4,1],[3,2],[8,... 查看详情

拆分字符串并获取最后一个元素

】拆分字符串并获取最后一个元素【英文标题】:Splitstringandgetlastelement【发布时间】:2016-09-2006:37:34【问题描述】:假设我有一列的值如下:foo/barchunky/bacon/flavor/baz/quz/qux/bax即由/分隔的可变数量的字符串。在另一列中,我想从... 查看详情

如何在javascript中对多维数组进行排序

】如何在javascript中对多维数组进行排序【英文标题】:Howtosortmultidimensionalarrayinjavascript【发布时间】:2014-01-1921:08:39【问题描述】:我有一个数组如下vararry=[[1,"ConventionHall","Mumbai",10,"XYZCompany"],[2,"Auditorium","Delhi",10,"ABCCompany"],[3,"C... 查看详情

如何获取我的 JavaScript 数组的所有子字符串(连续子序列)?

】如何获取我的JavaScript数组的所有子字符串(连续子序列)?【英文标题】:Howtogetallsubstrings(contiguoussubsequences)ofmyJavaScriptarray?【发布时间】:2019-02-2102:53:15【问题描述】:我的任务是使用JavaScript将给定的数组拆分为更小的数... 查看详情

如何拆分字符串并形成多级嵌套字典?

】如何拆分字符串并形成多级嵌套字典?【英文标题】:HowcanIsplitastringandformamulti-levelnesteddictionary?【发布时间】:2015-07-2001:35:41【问题描述】:我有一个类似的字符串foo/bar/baz例如,我也有val=1。有没有一种干净的方法可以将foo/... 查看详情

如何取消设置多维数组中的最后一项?

】如何取消设置多维数组中的最后一项?【英文标题】:Howtounsetlastiteminmultidimensionalarray?【发布时间】:2013-05-1214:34:27【问题描述】:我有一个像下面这样的数组Array([0]=>Array([0]=>Date[1]=>Name[2]=>Hours)[1]=>Array([0]=>2013-01... 查看详情

PHP多维数组搜索并获取键的数组[重复]

】PHP多维数组搜索并获取键的数组[重复]【英文标题】:PHPmultidimensionalarraysearchandgetarrayofthekey[duplicate]【发布时间】:2014-03-2300:38:06【问题描述】:我有这个数组,当我搜索uid时,我需要返回找到密钥的数组,所以如果我搜索“4... 查看详情

将短语拆分为多维字符数组

】将短语拆分为多维字符数组【英文标题】:Splitaphraseintomultidimesionalarrayofcharacters【发布时间】:2021-12-2409:50:31【问题描述】:我有一个字符串,其中包含用户输入的短语:importjava.util.Scanner;publicclasseldertonguetranslatorpublicstaticvoid... 查看详情