【发布时间】:2018-09-10 22:34:11
【问题描述】:
我需要用 sorted keys:
var obj = [{1: 'a'}, {2:'b'}, {3:'c'}, {4:'d'}, {5:'e'},{6: 'a'}, {7:'b'},{8:'c'}, {9:'d'}, {10:'e'}]
根据键过滤此对象的最有效方法是什么?
例如,我想要:用2 < keys <5 或6 < keys < 9 过滤的obj
(实际上,键是时间戳,值是价格数据)
编辑: 这是对象。这就是我所说的排序
var obj = [{1: 'a'}, {2:'b'}, {3:'c'}, {4:'d'}, {5:'e'},{6: 'a'}, {7:'b'},{8:'c'}, {9:'d'}, {10:'e'}]
【问题讨论】:
-
考虑改用时间戳价格元组数组,您将获得正确的顺序并且可以使用
filter。 -
遍历键并创建一个新对象。不觉得太难。
-
现在你有了一个对象数组,每个对象都有唯一的键。这是一个可怕的结构。你控制源头吗?
-
@charlietfl 我可以控制结构
-
您刚刚编辑了问题以将格式从对象更改为对象数组。只要您可以更改数据格式,您就应该一直按照@Bergi 的建议制作一个元组数组,例如
[(1, 'a'), (2, 'b')]或真实对象:[{time: 1, value: 'a'}]。像这样的键中有数据很奇怪。
标签: javascript arrays object