gpt4 book ai didi

javascript - 访问其定义中的数组项,相对索引

转载 作者:行者123 更新时间:2023-11-30 15:51:52 25 4
gpt4 key购买 nike

我正在尝试定义这个数组:

    postLists = [
[
[46276,76235,78128],
postLists[0][0].length,
1100
], [
[],
postLists[1][0].length,
0
]
];

但是,我得到所有 postLists[x][0].length 行的未定义错误。

如何访问从自身定义的数组?有没有一种方法可以相对选择一个项目,而不用像对待文件夹那样引用它的整个“路径”?例如在这种情况下,像 [0].length 这样的东西会得到 [46276,76235,78128] 的长度,或者 ..[1](父级)将选择 postLists[1]

postLists[x][0] 将容纳数十万个整数,因此需要考虑性能。
postLists[x][1]是原来的长度,需要每隔几秒访问一次,因为postLists[x][0]的大小,不能如此频繁地即时访问而不会影响性能。
postLists[x][2] 是一个索引,用于跟踪(和存储)已处理的项目,在 postLists[0][2] 1100 用于跳过已处理的前 1100 个项目。

我在 Greasemonkey 脚本中使用它,postLists 中的子数组的原因是我计划在同时运行的多个选项卡上使用该脚本。

脚本的开头是这样设置的:

window.onkeydown = function(event) {
if (event.ctrlKey && event.altKey) {
switch(event.keyCode) {
case 49: activeList = postLists[0]; break; // 1
case 50: activeList = postLists[1]; break; // 2
case 51: activeList = postLists[2]; break; // 3
case 52: activeList = postLists[3]; break; // 4

case 70: // F
toggleScript = !toggleScript;
if (toggleScript) {
treatItem();
favObserver.observe(topNotice, {attributes: false, childList: true, characterData: true});
} else
stopObserving(true);
break;
}
}
};

然后每个函数都使用 activeList 来引用选定的子数组。

最佳答案

您可以使用赋值,但会产生额外变量的副作用;例如,tmp,用于分配、重新分配一个可以改变多个场合的变量

var tmp, postLists = [
[
tmp = [46276, 76235, 78128],
tmp.length,
1100
],
[
tmp = [],
tmp.length,
0
]
];
delete tmp;
console.log(postLists);

关于javascript - 访问其定义中的数组项,相对索引,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39197873/

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