当我尝试将箭头函数与{}一起使用时,似乎认为这是一个对象并抛出错误。我以为这是一般定义箭头功能的方式?
下面的代码给出的错误是 TypeError: #<Object> is not a function
let allProperties = [];
sites.forEach(site => site.properties.forEach(p => {if (!allProperties.find(p)) allProperties.push(p)} ));
编辑:站点的定义可能类似于以下内容:
sites = [
{
"properties": [
{ "id": "111-11", "display": "Zone", "value": 1 },
]
}];
咆哮着if(!allProperties.find(p))
。.find()
之所以不喜欢它,是因为您为它提供了一个对象作为参数,而不是函数。.find()文件在这里
如果将其更改if (allProperties.indexOf(p) === -1) {...}
为预期的效果。
var allProperties = [];
var sites = [
{
"properties": [
{ "id": "111-11", "display": "Zone", "value": 1 },
]
}];
sites.forEach(site => site.properties.forEach(p => {
if (allProperties.indexOf(p) === -1) {
allProperties.push(p);
}
}));
console.log(allProperties);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句