zoukankan      html  css  js  c++  java
  • 对象的基本特点

     // 对象的基本特点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
    右侧打赏一下 代码改变世界一块二块也是爱
  • 相关阅读:
    N、Z、Q、R 分别代表什么
    Android常用代码-监听网络状态
    完整的android use SSL发送邮件
    android 发送邮件相关文章
    Spring RMI的实现原理
    spring+quartz配置
    Quartz配置表达式
    singleton容器
    Spring学习-框架概览
    [Shader2D]漩涡效果
  • 原文地址:https://www.cnblogs.com/ht955/p/14045629.html
Copyright © 2011-2022 走看看