【发布时间】:2021-04-19 04:59:59
【问题描述】:
我有一个我认为很简单的问题,但我看到了相互矛盾的答案。
假设我有以下数据结构:
const data = [
...,
{
someKey: [
...,
{
someDeepKey: [
...,
'two'
],
}
]
}
]
因此,访问以下所有内容的第一个索引将如下所示:
data[0].someKey[0].someDeepKey[0]
但是如果我想找到所有这些的最后一个索引,我还没有找到一个干净的方法。我看到有人建议扩展 Array 原型本身,我觉得这是个坏主意。
我能想到的唯一其他“干净”解决方案是链接变量以使其半可读。
let someKey = data[data.length - 1].someKey
let someDeepKey = someKey[someKey.length - 1].someDeepKey
let someDeepKeyValue = someDeepKey[someDeepKey.length - 1]
有人可以建议一种更清洁的方法吗?我相信 Python 支持一些简洁的东西,例如:
data[-1].someKey[-1].someDeepKey[-1]
我想知道 JS 中是否有类似的东西。
【问题讨论】:
-
据我所知,目前没有简单的方法可以做到这一点,但您可能有兴趣查看this proposal of ECMAScript。它目前处于第 3 阶段,我猜很快就会标准化。
标签: javascript node.js arrays