javascript - 循环遍历 2 个数组,并将一个数组中的值分配给第二个数组的每个匹配对象

标签 javascript arrays angular lodash

我有 2 个数组 1.Options 和 2.sameAccountArray

 options.map((opt, optInd) => {
            sameAccountArray.map((acObj, acInd) => {
                if (opt.optNumber === acObj.optNumber) {
                    console.log(opt.optNumber, acObj.optNumber, acObj.exist, acObj.exist, 'WTF', sameAccountArray);
                    opt.exist = acObj.exist;
                } else {
                    console.log(opt, acObj, opt.optNumber, acObj.optNumber, 'kundi');
                    // opt.exist = false;
                }
                // else {
                //     if (optInd === acInd) {
                //         opt.exist = acObj.exist;
                //     } else {
                //         console.log('elseeee', optInd, acInd,opt.optNumber, acObj.optNumber, opt.exist, acObj.exist);
                //     }
                // }
            });
        });

sameAccountArray的数据结构:

{
                    'key': key,
                    'shares': this.no_of_shares[key],
                    'refValue': this.your_reference[key],
                    'exist': false,
                    'accountNumber': extractedAccountNumber, 'optNumber': parseInt(extractedOptionNumber)
                }

Option里面有很大的字段,但是我们不需要关心它。 options 和 SameAccountArray 有一个名为 optNumber 的公共(public)文件。我正在尝试循环遍历每个数组,并在选项数组的每个对象中分配一个名为 exist 的值(如果 optNumber 相同)。 SameAccountArray 已经具有正确的 exist 值,我只需分配该值以匹配 options 数组的对象。不知怎的,它没有被正确分配。请注意,选项数组和 SameAccount 数组的长度不同。 SameAccountArray 具有动态对象,而 options 具有固定数量的元素。知道这里出了什么问题吗?提前致谢

最佳答案

试试这个:

options.forEach(opt=>{
    sameAccountArray.forEach(acObj=>{
      if (opt.optNumber === acObj.optNumber) opt.exist = acObj.exist;
    })
})

关于javascript - 循环遍历 2 个数组,并将一个数组中的值分配给第二个数组的每个匹配对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53494226/

相关文章:

javascript - 为什么我在新打开的窗口中看不到字形图标?

javascript - 每个 PubNub 消息使用多个 JSON 数据对象渲染 PubNub/Eon Chart LiveStream

对象属性的javascript .some函数

javascript - 如何在Angular2中调用Polymer元素方法?

angular - 如何刷新路线的解析数据

javascript - 将每个出现的字符串放入 html 标签中

javascript - MathJax在渲染字体后扩展页面垂直高度

C++ 结构数组复制

PHP:从 MySQL 中的内爆数组中选择一个值

angular - 在angular2中获取自定义html属性值