【发布时间】:2019-07-16 07:30:45
【问题描述】:
我对 javascript 相当陌生,我试图找到由 configID 属性创建的数组的对象。我为此使用了find()的方法。
JS 代码:
var configurationArray = flow.get("configurationArray") || [];
var configurationId = msg.topic.split("/")[1];
var configuration = {
configID: this.configurationID,
configurationModules: this.MSGesture.payload
};
if(!configurationArray.find(x => x.configID == this, configurationId)){
configurationArray.push(this.configuration);
} else {
//to do
}
我正在使用 node-red,它给了我 flow 和 msg。
我得到的错误:
Cannot read property 'configId' of undefined
感谢任何帮助
【问题讨论】:
-
错误明确指出
x的值未定义,只需将其更改为x && x.configId -
同时检查是否定义了变量及其长度
if (configurationArray && !!configurationArray.length && configurationArray.find(...) ) -
@CodeManiac 你的回答也有效,谢谢。
标签: javascript arrays node-red