// 记录字符串中,字符出现的次数
// 数组中,数据出现的次数
// var str = 'abcabcdabcdeabcdef';
// var arr = [1,2,3,1,2,3,4,1,2,3,4,5,1,2,3,4,5,6];
var str = 'abcabcdabcdeabcdef';
// 1,将字符串转化为数组 , 以空字符串为间隔
// 每个字符,作为一个单元转化为数组
var arr1 = str.split('');
console.log(arr1);
// 2,数组去重
var arr2 = [];
// for循环,for...in也可以
arr1.forEach(function(v){
if(arr2.indexOf(v) === -1){
arr2.push(v);
}
})
console.log(arr2);
// 3,将没有重复数据的数组,其中存储的数据,作为新数组的索引,新数组的数值是0
// 作用:表示每个字符,初始出现的次数是0
var arr3 = [];
arr2.forEach(function(v){
// 获取arr2中的数据,作为arr3的索引,0作为数值数据
arr3[v] = 0;
})
console.log(arr3);
// 4,循环变量原始数组 arr1
// 如果arr1中的数据,与arr3中的索引相同,就给arr3中这个索引存储的数值 +=1 / ++
// v1 是 arr1 的数据 a,b,c...
arr1.forEach(function(v1){
// v3是 arr3 的索引 a,b,c...
for(var v3 in arr3){
if(v1 == v3){
// arr1数组中的数值,等于 arr3中索引
// 给arr3这个索引存储的数值累加1 可以 是 +=1 / ++
arr3[v3]++;
}
}
})