我想根据一些要求检查某个按钮是否可点击,但我甚至无法启动该功能。
我有这个对象数组。每个对象都是一个按钮,其中一些是有要求的。例如:要使故事可点击,需要10个想法,所以story.ideaReq = 10
。要获得格拉纳,你需要有一个故事,所以grana.storyReq = 1
。
我的代码应该返回:
story ideaReq 10
即:
story.name = story,
req.name +'所需物品' = ideaReq和
故事[' 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);

答案 0 :(得分:0)
您的代码正在尝试访问<form id="add_quote_form" name="add_quote_form" class="form-horizontal">
<table style="width: 90%" id="myTable" class="centered-table table table-bordered">
<thead>
<tr>
<th>Item</th>
</tr>
</thead>
<tbody>
<tr>
<td style="width: 60%"><input type="text" id="detail[]" name="detail[]"/></td>
</tr>
</tbody>
</table>
</form>
的属性prop
。相反,您应该使用name
存储的字符串访问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);