案例: 如上,求客户最后一次的购买记录。 这个问题可以用数据透视表解决: 对上述数据稍微处理下就可以得到最终数据。 或者先对客户进行去重,得到不重复的客户,然后利用函数公式也能得到最终结果。 本节我们看下如何利用JS代码解决上述问题: 6行代码,当然这些代码还可以再合并,超简洁吧。JS中学完数组和Set集合后才真正感受到了它的优势,确实比VBA代码要简洁很多。 在VBA中,去重你得用字典吧,创建一个字典,然后用循环把数组中的元素写入字典,而在JS中只需要把数组直接放到Set里就可以了,VBA中的循环在JS数组中有很多迭代函数可以直接代替。 本例的思路很简单,利用Set对客户姓名去重,然后迭代去重后的客户姓名,查找其在姓名列中的索引,从后往前找,这样便能得到每位客户最后出现的位置,该条记录也就是我们想要提取的数据。 最终效果如下: 本节先分享到这里,祝大家每天都有进步。 |
|
来自: yuxinrong > 《六、JS中的Set和Map对象》