一、
找到数组中每个字母出现的次数[“c”, “a”, “z”, “a”, “a”,“b”]并用对象保存:
{
a:3,
z:1,
c:1,
b:1 }
<script>
var arr = ["c", "a", "z", "a", "a", "b"];
var obj={ }//用对象来保存结果
// 先遍历数组
// 先遍历数组
for (var i = 0; i < arr.length; i++) {
// 遍历的数组要添加到对象中,----第一次遍历到的就obj[key]=1;遍历到多次的时候就累加计算obj[key]
var key = arr[i];//将数组的数据赋值给 对象中的key------此时对象中保存的就是数组中的数据
// obj[key]表示的是数据出现的次数----晕了
if (obj[key] == undefined) {//obj对象中数据的次数没有出现的时候,那就只有一个它了
obj[key] = 1;
} else {
obj[key]++;// 对象中若存在--------就累加
}
}
console.log(obj);
</script>
结果
二、
var names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];
var countedNames = names.reduce(function (allNames, name) {
if (name in allNames) {
allNames[name]++;
}
else {
allNames[name] = 1;
}
return allNames;
}, {});
console.log(countedNames);