0
我无法从嵌套数组中分配值。循环正确地移动并且看起来最初对以下数组进行比较。JavaScript比较,匹配和分配嵌套数组中的对象
let searchSource = [ 'media', 'arts'];
let subscriberNodes = [
{
name: 'customer',
nodes: [
{source: 'media'},
]
}
]
不幸的是,下面的代码不能过滤数据。
let violation = subscriberNodes
.filter(v => v.nodes = v.nodes.filter(q => searchSource === q.source));
的searchName和q.source比较在调试器中的破发点中的一个阶段,但我再次点击
q.source // 'EDW' to undefined
我不知道为什么我看到它比较相同的值2次以及为什么第二次未定义q.source。它似乎像过滤器运行2次。
我试图与发现,以及,但出错了同样的结果在过滤器
let qualifierViolations = profilerNodes
.find(item => item.nodes)
.filter(value => value.source === smartSearch)
当使用。有些我发现,一切都发生身体接触,但没有过滤
let qualifierViolations = subscriberNodes
.filter(v => v.nodes.some(q => searchSource !== q.source));
在这一点上,我不知道我缺少什么或如何解决它。任何有识之士将不胜感激。
让subscriberNodes = [ { 名称: '顾客', 节点:[{ 来源: '媒体'}, ] } ]
你谈论四个不同的变量,其中两个永远不会在你的代码中给出任何值。我认为只有两个相关的:一个过滤器数组和一个过滤数组。删除其余的或提供更多信息 –