gpt4 book ai didi

javascript - 无法读取javascript中数组元素的属性

转载 作者:行者123 更新时间:2023-11-30 13:57:05 24 4
gpt4 key购买 nike

我是 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,它提供了 flowmsg

我得到的错误:

Cannot read property 'configId' of undefined

感谢任何帮助

最佳答案

您可以解构该属性并添加一个默认对象。

然后取 some 而不是 find,因为您只需要检查。

最后省略this,直接取值。

if (!configurationArray.some(({ configID } = {}) => configID === configurationId)) {
configurationArray.push(this.configuration);
} else {
//to do
}

如果你喜欢抽象回调,你可以在 configurationId 上进行闭包,比如

const hasId = id => ({ configID } = {}) => configID === id;

if (!configurationArray.some(hasId(configurationId)) {
configurationArray.push(this.configuration);
} else {
//to do
}

关于javascript - 无法读取javascript中数组元素的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57052140/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com