对象的基本特点

 // 对象的基本特点1:
        //     对象中,如果给已经存在的属性,进行赋值
        //     会是给对象修改存储数据的操作
        //     不会新增一个属性和属性值单元

        var obj={a:100};
        // 修改a中存储数据操作
        // 不会新增一个a单元存储200
        obj.a = 200;

        // 数组的去重4
        // 思路:将数组的数据,写成对象的属性
        //      如果有重复的数据,对象也不会新增属性,会对已有的属性做重复赋值操作
        //      执行之后,对象的数据,就是数组中不重复的数据

        var arr = [1,2,3,4,5,1,2,3,4,5,1,2,3,4,5];
        
        var obj = {};

        var newArr = [];

        // 循环遍历数组,将数组的数据,作为对象的属性
        arr.forEach(function(v){
            // 将数组的数值,作为属性,写入到对象中,对象的属性值可以随便写
            obj[v] = '随便写';
        })

        console.log(obj);

        // 将对象的属性,在写成新的数组的数值数据
        // key当中存储的是对象的属性
        for(var key in obj){
            // 将对象的数据,作为数值数据,写入到数组中
            newArr.push(key);
        }
        // 新数组中,存储的数值,数据类型都会是字符串
        // 后期会通过正则表达式,验证数据内容,如果是纯数值字符串,就转化为数值
        console.log(newArr);
 
   // 记录字符或者数据出现的次数

        var str = 'aaaabbbbbcccccdddeeefffgggggg';

        // 将字符串的字符获取,作为对象的键名
        // 对象是不会有重复键名的,重复键名是对象存储数据的修改操作

        var obj = {};

        // i存储的是字符串的索引 str[i] 是对应的字符
        for(var i in str){
            // 将字符串的字符,作为键名,定义给对象
            // 如果是第一次定义,赋值为0
            // 如果已经有这个键名了,应该给存储的数值 +=1 或者 ++
            // 如果有这个键名,调用这个键名结果不是undefined
            // 如果没有这个键名,调用这个键名结果是undefined

            // 从obj对象中,调用 当前字符 表示的键名
            if(obj[str[i]] === undefined){
                // 如果调用结果是undefined,证明对象中没有这个键名
                // 新增对象的单元,键名是这个字符,数值是 1
                obj[str[i]] = 1;
            }else{
                // 调用结果不是undefined,证明对象中已经存在这个键名
                // 存储数值数据 +=1 或者 ++
                obj[str[i]]++;
            }
        }

        console.log(obj);

        // 总结
        // 利用对象不能写入重复的键名特点
        // 将字符串中的字符,合作是数组中的数据等
        // 作为对象的键名
        // 先执行判断
        //     如果 调用 字符表示的键名,结果是undefined,证明没有这个键名
        //          给对象新增单元,键名是字符,数值是1,表示这个字符第一次出现
        //     如果 调用 字符表示的键名,结果不是undefined,证明已经存在这个键名
        //          给这个键名存储的数据 += 1 或者 ++  累加1
右侧打赏一下 代码改变世界一块二块也是爱
原文地址:https://www.cnblogs.com/ht955/p/14045629.html