我有一个日志分析脚本来填充复杂的可视化。使用jquery搜索对象数组
图片的阵列(称为,而unoriginally,“登录”)活动的对象,其中每一个是在以下形式:在阵列中
{
name:foo,
activities:[
{time:t, action:a},
{time:t, action:a},
{time:t, action:a},
...
]
}
将有高达75的活动对象,每片含一系列400-600个动作(从前一天的午夜开始每隔5分钟一个时隙)。
给定一个已知的活动名称(上面的foo)和活动数组中已经存在的时间,我需要更新关联的动作。
每个名称都是唯一的,每次在数组中以5分钟的增量升序排列。
因为每次更新图表时(因此平均需要更新1000个值和1000 * 500 * 60点图表),我必须要做1000次以上的操作,所以性能是一个相当关键的问题。
在JQ循环比什么都更有效率,我可以这么写,此刻,我有
n = "foo";
t = new Date(y,mm,d,h,m).toLocaleString() // matches a time stamp in the log
$.grep($.grep(log, function(n, i)
{
return (n.name == n)
}
)[0].activities, function(n, i)
{
return (n.time == t)
}
)[0].action = "bar";
这似乎是工作,但它采取了我这么久,我有这么多与我自己的论点,我不自信。
我错过了一个更好的方法吗?
*“在JQ循环是远远超过任何我能写......更有效的” *为什么地球上,你认为呢? – 2013-03-14 05:35:32
你可以给时间序列的样本值 – 2013-03-14 05:35:35
在本地格式如所有字符串“2013年3月13日上午09时40分○○秒” – PerryW 2013-03-14 05:53:22