gpt4 book ai didi

javascript - 无需迭代jquery即可快速从二维数组获取索引

转载 作者:行者123 更新时间:2023-11-29 17:14:22 25 4
gpt4 key购买 nike

我有如下二维数组:

var data = [[1349245800000, 11407.273], [1349247600000, 12651.324],
[1349249400000, 11995.017], [1349251200000, 11567.533],
[1349253000000, 11126.858], [1349254800000, 9856.455],
[1349256600000, 8901.779], [1349258400000, 8270.123],
[1349260200000, 8081.841], [1349262000000, 7976.148],
[1349263800000, 7279.652], [1349265600000, 6983.956],
[1349267400000, 7823.309], [1349269200000, 6256.398],
[1349271000000, 5487.86], [1349272800000, 5094.47],
[1349274600000, 4872.403], [1349276400000, 4168.556],
[1349278200000, 4501.939], [1349280000000, 4150.769],
[1349281800000, 4061.599], [1349283600000, 3773.741],
[1349285400000, 3876.534], [1349287200000, 3221.753],
[1349289000000, 3330.14], [1349290800000, 3147.335],
[1349292600000, 2767.582], [1349294400000, 2638.549],
[1349296200000, 2477.312], [1349298000000, 2270.975],
[1349299800000, 2207.568], [1349301600000, 1972.667],
[1349303400000, 1788.853], [1349305200000, 1723.891],
[1349307000000, 1629.002], [1349308800000, 1660.084],
[1349310600000, 1710.227], [1349312400000, 1708.039],
[1349314200000, 1683.354], [1349316000000, 2236.317],
[1349317800000, 2228.405], [1349319600000, 2756.069],
[1349321400000, 4289.437], [1349323200000, 4548.436],
[1349325000000, 5225.245], [1349326800000, 6261.156],
[1349328600000, 8103.636], [1349330400000, 10713.788]]

如何获取数组中值 1349247600000 的索引?我试过 $.inArray(1349247600000, data) 但正如预期的那样失败了。还有其他方法还是我必须遍历每个方法?我不愿意在我的流程中添加另一个循环

最佳答案

这是典型的性能与内存问题。避免遍历数组的唯一方法(据我所知)是维护第二个数据结构,将时间戳映射到数组的索引(或可能需要的任何数据)。

所以你会有

var data = [
[1349245800000, 11407.273],
[1349247600000, 12651.324],
// ...
[1349330400000, 10713.788]
];

// the timestamps pointing at their respective indices
var map = {
'1349245800000': 0, // 0
'1349247600000': 1, // 1
// ...
'1349330400000': 42, // n - 1 (the length of the data array minus one)
}

这样,您可以使用更多内存,但在需要给定时间戳所属的数组中的项目索引时,查找时间不变。

要获取给定时间戳的索引,请执行以下操作:

map['1349247600000']; // resulting in 1 (e.g.)

如果数据结构是动态变化的,你当然需要维护 map 数据结构,但根据你需要查找的上下文,与线性查找相比,恒定时间查找可能更节省时间时间查询。

关于javascript - 无需迭代jquery即可快速从二维数组获取索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19180346/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com