javascript对象没有被分配正确的成员值

标签 javascript

我有 2 个 JS 数组,我正在遍历它们以找到相似的数组。

anomalies.forEach(function(anomaly) {

    links.forEach(function(link) {
        if ((link.source.name === anomaly.source) && (link.target.name === anomaly.target)) {
            console.log("anomaly");
            link.type = "anomaly";
            console.log(link);
        } else {
            link.type = "normal";
        }

    });

});

console.log(links);

link.type的值应该是"anomaly"的情况下,它仍然反射(reflect)为"normal"log from chrome

为什么会这样,应该怎么办?

最佳答案

我是一个算法错误。在提供的屏幕截图中,type="normal" 是对象的当前值。

考虑:

Loop1
 Loop2
  condition

如果链接对象满足 loop2 中的条件,则为其类型值分配 “异常”。但是当 loop1 的下一次迭代发生时,并且不满足同一链接对象的条件,则该值被分配为 “normal”。因此这是一个算法错误。

关于javascript对象没有被分配正确的成员值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29628349/

相关文章:

javascript - 仅获取单击的 div 元素的子元素

javascript - 返回 JSON 中的 Base64 编码缩略图还是只返回 URL?

javascript - Angular radio 输入未使用 bootstrap 4 btn-group 更新模型

javascript - Github 语言颜色基于 React 应用程序中的存储库语言

javascript - HTML 中的颜色选择器对话框

javascript - Facebook 如何在聊天时改变其符号中的表情符号?

ASP.NET CheckBox 使用 javascript 禁用回发

javascript - 为什么我会收到 JavaScript Date 对象的错误?

javascript - 通过下拉菜单(选择选项)动态创建输入字段

javascript - AngularJS 从数据库设置选择选项