【发布时间】:2018-12-21 11:52:13
【问题描述】:
我无法让 if 语句在由 forEach 数组循环调用的函数内工作。
我有一个带有对象的数组,(带有一个对象)
arrofobj = [
{"thing_id":"1a", "val": 1, "Type": "Switch","ValType":{"0":"Open","1":"Closed"}},
{"thing_id":"1b", "val": 72, "Type": "Sensor","ValType":{"0":"%"}}]
我想测试Type是否是一个开关,以便在数组CatX的对象的新字段中写入信息:
- 如果是,我想使用val 值来确定在数组arrofobj 的新变量中使用哪个ValType 元素。
- 如果没有,我想使用 arrofobj.ValType.0 值
const getCat = function(){
if(arrofobj.Type !== 'Switch')
arrofobj.ValType'.0'
} else {
arrofobj.ValType.(arrofobj.val)
};
arrofobj.forEach(p => p.CatX = getCat() );
我没有让 lint 接受代码,所以无法测试。
【问题讨论】:
-
您遇到了什么错误?请把它们包括在问题中。如果你准确地引用了你的源代码,我猜这与你的
else周围的大括号不匹配有关。 -
谢谢@HarryCutts,说实话,我已经尝试了许多不同的选项,遇到了许多不同的问题,从 lint 抱怨到没有输出。
标签: javascript arrays json foreach node-red