gpt4 book ai didi

javascript - 比较和获取谷歌脚本中两个数组的值

转载 作者:行者123 更新时间:2023-12-01 16:18:04 26 4
gpt4 key购买 nike

这是input ,

colA = [1,1,1,1,1,1,2,2,2,2,2,3,3,3,3,3,3];
colB = [1.1 ,1.1 ,1.2 ,1.3, 1.3, 'ab', 2.1, 2.1, 2.2, 2.2, 'ab', 3.1, 3.2, 3.3, 3.3, 3.3, 'ab'];
  • 两个数组的长度相同。
  • 如果 colA 中总共有 6 个“1”,那么 colB 中将只有 6 个 1s 项(1._)。

  • 我希望控制台中的输出如下所示:
    1, 1.1, count of 1.1 = 2
    1, 1.2, count of 1.2 = 3
    1, 1.3, count of 1.3 = 2
    1, AB, count of AB = 1
    2, 2.1, count of 2.1 = 2
    2, 2.2, count of 2.2 = 2
    2, AB, count of AB = 2
    .
    .
    .
    //or something like this where I must get these three values.

    代码:
    for(i=0; i < colA.length; i++)
    {
    for(j=0; j < colB.length; j++)
    {
    // what to do here to compare the values.
    }
    }

    我是否应该使用两个 for 循环,因为我希望代码真正优化,因为将有大约 10k 行数据。
    对任何建议持开放态度。谢谢您的帮助。

    最佳答案

    您可以使用单个循环进行迭代并使用后继和增量检查值 count .

    如果不相等,则输出并重置计数为 1。

    var colA = [1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 3, 3, 3, 3, 3, 3],
    colB = [1.1, 1.1, 1.2, 1.3, 1.3, 'ab', 2.1, 2.1, 2.2, 2.2, 'ab', 3.1, 3.2, 3.3, 3.3, 3.3, 'ab'],
    count = 1,
    i,
    length = colA.length;

    for (i = 0; i < length; i++) {
    if (colB[i] === colB[i + 1]) {
    count++;
    continue;
    }
    console.log(colA[i], colB[i], count);
    count = 1;
    }

    关于javascript - 比较和获取谷歌脚本中两个数组的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61230808/

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