我有两个字符串数组,但出于演示目的,我将使用字母 ae:
{a,b,c,d,e}
{a,a,b,c,c,c,d,e,e}
我想将第一个数组中每个元素的实例计数为第二个数组中的元素,并返回计数的第三个数组(具有第一个数组的长度)。
例如,给定上面的两个数组,我的程序应该返回:
{2,1,3,1,2}
或者,采用第二个数组的方法:
{a,a,b,c,c,c,d,e,e}
并返回:
{a,b,c,d,e}
{2,1,3,1,2}
也将服务于我的程序的目的。
我知道在 JavaScript 中我可以做到这一点:
function foo(arr) {
var a = [], b = [], prev;
arr.sort();
for ( var i = 0; i < arr.length; i++ ) {
if ( arr[i] !== prev ) {
a.push(arr[i]);
b.push(1);
} else {
b[b.length-1]++;
}
prev = arr[i];
}
return [a, b];
}
我将如何在 Visual Basic 中执行此操作?