在javascript中,如何创建一个遍历所有对象的for循环?

当归

我想根据某些要求检查某些按钮是否可单击,但是我什至无法使该功能的开始起作用。

我有这个对象数组。每个对象都是一个按钮,其中一些对象有一个要求。例如:要使故事可点击,它需要10个想法,因此story.ideaReq = 10要获得Grana,您需要拥有1个故事,因此grana.storyReq = 1

我的代码应返回:

story ideaReq 10

那是:

story.name =故事,
req.name +'Req'= ideaReq和
story ['ideaReq'] = 10

但它返回:

story ideaReq undefined

如果我console.log(story.ideaReq)可以正常工作,但是我需要能够调用此函数(因为我将拥有比上述对象更多的对象)。

我想念什么?

const numbers = [
  time = {
    'name': 'time',
    'in': 0,
    'val': 0
  },
  idea = {
    'name': 'idea',
    'in': 0,
    'val': 10,
    'time': 1
  },
  story = {
    'name': 'story',
    'in': 0,
    'val': 1,
    'time': 4,
    'ideaReq': 10
  },
  grana = {
    'name': 'grana',
    'in': 0,
    'val': 1,
    'time': 1,
    'storyReq': 1
  }
];


var checkButton = (button, req) => {

  let name = button.name,
    prop = req.name + 'Req';

  console.log(name, prop, name['prop']);
}

checkButton(story, idea);

4城堡

你的代码试图访问属性propname相反,您应该使用所button存储的字符串访问的属性prop

改变

console.log(name, prop, name['prop']);

console.log(name, prop, button[prop]);

const numbers = [
  time = {
    'name': 'time',
    'in': 0,
    'val': 0
  },
  idea = {
    'name': 'idea',
    'in': 0,
    'val': 10,
    'time': 1
  },
  story = {
    'name': 'story',
    'in': 0,
    'val': 1,
    'time': 4,
    'ideaReq': 10
  },
  grana = {
    'name': 'grana',
    'in': 0,
    'val': 1,
    'time': 1,
    'storyReq': 1
  }
];


var checkButton = (button, req) => {

  let name = button.name,
    prop = req.name + 'Req';

  console.log(name, prop, button[prop]);
}

checkButton(story, idea);

另外,如果不声明变量,它们将是全局变量,因此在数组初始化程序之前,应添加:

let time, idea, story, grana;

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

JavaScript在输入上循环创建一个对象数组

一个如何删除对象中JavaScript中不存在于数组中的所有键?

Javascript。如何创建一个创建对象的循环,然后将这些对象推入数组?

如何遍历一个类的所有属性?

如何仅在图形中的一个循环上遍历?

如何将类中的所有对象放入一个数组javascript中?

如何遍历一个类的所有实例?

如何遍历图像中的所有像素并将它们的RGB值与另一个RGB值进行比较,而无需使用for循环?

如何遍历javascript对象中的所有子文档?

使用JavaScript中的循环从一个对象创建两个对象时出错

创建一个数组并在javascript / jquery中循环遍历

如何为在一个循环中创建其所有JRadioButton的ButtonGroup设置setSelected?

如何循环遍历另一个对象数组中的对象数组-javascript

如何在Haskell中实现一个遍历列表所有值的for循环?

如何为所有方法一次创建一个对象?

如何将所有创建的员工存储在一个对象中

如何遍历 json 对象并使用 Javascript 形成一个带有连接值的新对象?

如何循环遍历列表中除第一个之外的所有项目

如何创建一个新对象继承 JavaScript 中的现有对象?

如何遍历 mongodb 集合中的所有文档,一次一个文档?

从 0 循环到一个数字并遍历数组中的所有数字(javascript)

循环遍历对象数组并创建一个真值数组

如何制作一个程序来循环遍历 Instagram 上所有保存的照片

如何在javascript中创建一个while循环

如何创建一个函数来从嵌套对象中检索所有孩子的 id

在 javascript 中循环遍历一个不可变的 Map

循环遍历字典键中的最后一个值而不是字典中的所有值

有没有办法存储函数循环遍历它们并将它们放入一个对象中

使用 JavaScript,如何遍历 2 个 JSON 对象,比较它们的字段并根据比较创建一个新的 JSON 对象?