统计字符串

147 阅读1分钟

统计字符串

        // 统计字符串 'abcoefoxyozzopp' 中每个字符出现的次数,目标:返回这种格式的数据:{a:4,b:3,c:6}
        let str = 'abcoefoxyozzopp'
            // 定义一个空对象
        let obj = {}
            // 遍历字符串
        for (let i = 0; i < str.length; i++) {
            // 把字符元素赋值给一个变量
            let s = str[i]
                // 判断对象obj里存不存在obj[s]的值
            if (obj[s]) {
                // 存在则加1
                obj[s] += 1
            } else {
                // 不存在,给obj[s]赋值1
                obj[s] = 1
            }
        }
        console.log(obj); //{a: 1, b: 1, c: 1, o: 4, e: 1, …}


        // 封装成函数
        function getAbj(newStr) {
            let obj = {}
            for (let i = 0; i < newStr.length; i++) {
                let s = newStr[i]
                if (obj[s]) {
                    obj[s] += 1
                } else {
                    obj[s] = 1
                }
            }
            return obj
        }
        let res = getAbj('hahfsjuy')
        console.log(res); //{h: 2, a: 1, f: 1, s: 1, j: 1, …}