案例
1.统计字符串 中每个字符出现的次数(字符串可以随意设置啊),并返回哪个字符出现的次数。代码如下:
function getCount(str) {
let obj = {} //先定义一个空对象
for (let i = 0; i < str.length; i++){
//之后把字符串的值赋给对象obj,如果符合条件对象属性的值++,否则为对象添加一个属性并赋值 = 1
if(obj[str[i]]){
obj[str[i]]++
}
else{
obj[str[i]] = 1 //添加属性
}
}
return obj //返回对象obj
}
let result = getCount('abcoefoxyozzopp')
console.log(result); //输出对象值
// 找出最大值
let max = 0
let maxName = ''
for(let key in result){
if(result[key] > max){
max = result[key]
maxName = key
}
}
console.log(`最大值 字符:${maxName} 值:${max}`);
这里的if语句**obj[str[i]]**就是一下代码
let key = str[i]
if(obj[key]){
obj[key]++
}
else{
obj[key] = 1 //添加属性 这里意思和obj['a'] = 1 或 obj.a = 1 是一样的
}
}
对象添加属性的原理:
无论是属性或是方法,同一个对象中出现名称一样的,后面的会覆盖前面的。(对象如果有这个属性相当于重新赋值,对象如果没有这个属性相当于动态添加一个属性)