gpt4 book ai didi

javascript - 如何正确地迭代结构

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:16:00 26 4
gpt4 key购买 nike

我想迭代找到的结构,但我不知道哪种方法最适合。

我试过这个:

for (var ext in creep.room.find(FIND_MY_STRUCTURES, {filter: { structureType: STRUCTURE_EXTENSION }})){
console.log(ext.energy);
}

但它不起作用。

所以现在我正在使用一种可行的方法,但它看起来很丑陋:

for(var i = 0; i < creep.room.find(FIND_MY_STRUCTURES, {filter: { structureType: STRUCTURE_EXTENSION }}).length; i++) {
var ext = creep.room.find(FIND_MY_STRUCTURES, {filter: { structureType: STRUCTURE_EXTENSION }})[i];
console.log(ext.energy);
}

我不确定,也许这是一个与js有关的问题。我是js的新手。你能就此提出建议吗?

最佳答案

ext 包含键,而不是结果的值。

所以我所做的是将结果移出循环并放入一个名为 results 的变量中。这样,我就有了一个在循环中引用的变量。

所以这是怎么回事,因为你代码中的 ext 存储的是键,它是一个字符串类型的值。它从字符串对象返回结果,您正在执行类似 "key".energy 的操作并返回值 undefined,因为 String 对象没有像这样的 key 。

所以下面是应该工作的代码:

var results = creep.room.find(FIND_MY_STRUCTURES, {filter: { structureType: STRUCTURE_EXTENSION }});
for (var ext in results){
console.log(results[ext].energy);
}

关于javascript - 如何正确地迭代结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30942113/

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