首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >遍历对象列表

遍历对象列表
EN

Stack Overflow用户
提问于 2019-08-24 23:15:19
回答 2查看 82关注 0票数 0

在JavaScript中,我可能会遍历一组包含数据的对象,如下所示:

代码语言:javascript
复制
const components = [
  {
    id: 1,
    pin: "A0",
    name: "light"
  },
  {
    id: 2,
    pin: "A1",
    name: "sound"
  },
  {
    id: 1,
    pin: "A0",
    name: "heat"
  },    
]

for (const component of components) {
  const value = analogRead(component.pin);
  console.log(`${component.name}:value`)
}

我经常需要在Arduino上使用这样的代码,但我不确定我该如何去做。

注意:我并不是在寻找将其准确地翻译成C++;我想知道在使用Arduino时实现这一目标的标准模式是什么。

EN

回答 2

Stack Overflow用户

发布于 2019-08-24 23:59:13

您可以使用C structure。为此,您需要首先声明一个结构来描述您的对象类型。

代码语言:javascript
复制
struct component
{
  int id;
  char pin[10];
  char name[50];
};

component components[] = {
  {
   1,
   "A0",
   "light"},
  {
   2,
   "A1",
   "sound"},
  {
   1,
   "A0",
   "heat"}

};

int main ()
{

    int len = sizeof(components)/sizeof(components[0]);
    for (int i=0 ; i<len ; i++)
    {
        printf("{ id: %d , pin: \"%s\" , name: \"%s\" }\n",components[i].id, components[i].pin, components[i].name);
    }
    return 0;
} 

输出:

代码语言:javascript
复制
{ id: 1 , pin: "A0" , name: "light" }
{ id: 2 , pin: "A1" , name: "sound" }
{ id: 1 , pin: "A0" , name: "heat" }
票数 1
EN

Stack Overflow用户

发布于 2019-08-24 23:51:21

如果您使用的是最新的C++ (11或更高版本,我知道arduino支持它),并且您的数据存储在一个数组中,您可以简单地执行以下操作:

代码语言:javascript
复制
int values[5] = { 16, 2, 77, 40, 12071 }

for(auto const& value: values) {
   // Do stuff
}
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57639210

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档