gpt4 book ai didi

javascript - 我怎样才能遍历一个数组

转载 作者:行者123 更新时间:2023-12-04 14:14:54 26 4
gpt4 key购买 nike

我在遍历数组时遇到问题。我正在为 Discord 制作一个 RPG 机器人,我需要在出现提示时显示播放器的 inventory。我试过使用 Object.values()Object.map()Object.entries()items 的名称已经通过 Object.keys(inventory) 计算出来,但 values 才是问题所在。

var invItems = Object.keys(inventory);
var InvValues = Object.entries(inventory);
for (var i = 0; i <= invItems.length; i += 1) {
if (invValues[i[1]] > 0) {
message.channel.send(`${invValues[i[1]]}x ${invItems[i]}`);
}
};

我是编码新手,所以请解释得比平时更详细。

最佳答案

您可以使用 for...of 直接将值发送到 message.channel像这样循环:

for (let [key, value] of Object.entries(inventory)) {
if (value > 0) {
message.channel.send(`${value}x ${key}`);
}
}

解释:

Object.entries() 方法返回给定对象自身的可枚举字符串键控属性 [key, value] 对的数组。所以,当我们像这样使用它时:

const object1 = {
a: 'somestring',
b: 42
};

console.log(Object.entries(object1));

我们可以得到一个数组,每个内部数组都是另一个键值对数组。现在,我们可以使用 array destructuring 获取每个键和值和 for...of 循环如下:

const object1 = {
a: 'somestring',
b: 42
};

for (let [key, value] of Object.entries(object1)) {
console.log(`${key}: ${value}`);
}

// Returns:
// "a: somestring"
// "b: 42"

您可以看到这现在正确地返回了所有的键和值。我们只需稍微修改一下即可满足您的要求并发回所需的消息。

关于javascript - 我怎样才能遍历一个数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61229263/

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