JS对象类型数据的创建及其操作

本文介绍了JavaScript中创建和操作对象的方法,包括字面量和`new Object()`方式,详细讲解了对象的增删改查操作,以及点语法和`[]`语法的区别。此外,还提供了对象遍历的示例,并通过实际练习展示了如何统计字符串中每个字符出现的次数以及找出出现最多的字符。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


前言

array中可以装大量数据,能装大量数据的,叫容器。在JS中,除了数组容器之外,还有对象容器。


提示:以下是本篇文章正文内容,下面案例可供参考

一、创建一个对象

创建一个对象也有两种方式:
1)字面量创建 var obj = {} 一个{}在JS中就表示一个对象
2)new Object也可以创建 var obj = new Object(); Object在构造器,在其它语言叫类

<script>
        // 字面量创建  用的比较多
        // 在JS中,对象是属性的无序集合
        // 集合:容器  放大量的数据
        // 无序:属性是无序
        var obj1 = {
            name:"wc",  // name:"wc"叫属性  name叫属性名  "wc"叫属性值  键值对  
            age:100,
            score:88,
            address:"bj"
        }
        // .属性访问运算符  
        // 就是用来访问一个对象上面的属性的  str.length   arr.push
        console.log(obj1.name);

        // new Object也可以创建
        // var obj2 = new Object()
    </script>

结果如下:
。

二、对象的操作

增:向对象中添加一个属性
删:删除对象里面的某个属性
改:修改对象里面的某个属性
查:获取对象中的某个属性

1…语法

点语法: .叫属性访问运算符 用的最多的
增: 对象名.属性名 = 属性值
删: delete 对象名.属性名 delete是用来删除一个对象中的属性的 delete是运算符
改: 对象名.属性名 = 新的属性值
查: 对象名.属性名 如果去获取一个属性,但是这个属性没有,得到undefined

代码如下(示例):

增:

	<script>
        let obj = {}; // 创建一个空对象   空对象是指里面没有任何的属性
        obj.name = "wc"; // 向对象中添加一个属性
        obj.age = 110; 
        console.log(obj);
    </script>

结果如下:
在这里插入图片描述
删:

	<script>
        let obj = {}; // 创建一个空对象   空对象是指里面没有任何的属性
        obj.name = "wc"; // 向对象中添加一个属性
        obj.age = 110; 
        delete obj.age; // 删除obj中的age属性
        console.log(obj);
    </script>

结果如下:
在这里插入图片描述

改:

	<script>
        let obj = {}; // 创建一个空对象   空对象是指里面没有任何的属性
        obj.name = "wc"; // 向对象中添加一个属性
        obj.age = 110; 
        delete obj.age; // 删除obj中的age属性
        obj.name = "xq"; // 修改
        console.log(obj);
    </script>

结果如下:
在这里插入图片描述
查:

	<script>
        let obj = {}; // 创建一个空对象   空对象是指里面没有任何的属性
        obj.name = "wc"; // 向对象中添加一个属性
        obj.age = 110; 
        delete obj.age; // 删除obj中的age属性
        obj.name = "xq"; // 修改
        console.log(obj);
        console.log(obj.name);
        console.log(obj.address);//已经被删除,没有这个元素,就是undefined
    </script>

结果如下:
在这里插入图片描述

2.[]语法

[]语法: 看到[],先想到数组,但是在对象中也可以使用[]
增: 对象名[“属性名”] = 属性值
删: delete 对象名[“属性名”]
改: 对象名[“属性名”] = 新的属性值
查: 对象名[“属性名”]
代码如下(示例):

增:

	<script>
        let obj = new Object(); // 创建一个对象
        obj["name"] = "xixi"
        obj["age"] = 666;
        console.log(obj);
    </script>

结果如下:
在这里插入图片描述
删:

	<script>
        let obj = new Object(); // 创建一个对象
        obj["name"] = "xixi"
        obj["age"] = 666;
        console.log(obj);
        delete obj["age"];
        console.log(obj);
    </script>

结果如下:
在这里插入图片描述
两种方式的区别:

相同之处:

	<script>
         var obj = {name:"wc",age:100}
        console.log(obj.name);
        console.log(obj["name"]);
    </script>

结果如下:
在这里插入图片描述
不同之处:

	<script>
        let obj = new Object(); // 创建一个对象
        obj["name"] = "xixi"
        obj["age"] = 666;
        console.log(obj);
        // a是一个变量  变量的值是一个字符串
        var a = "name";
        // 要求,需要通过a访问对象中的属性
        console.log(obj.a); // 表示访问obj对象中的a属性
        console.log(obj[a]);
    </script>

结果如下:
在这里插入图片描述

三、对象的遍历

	<script>
        // 对象的遍历
        var obj = {name:"wc",age:100,score:88,address:"bj"}
        // obj中没有length
        // console.log(obj.length);

        // 不能使用for循环遍历对象
        // 在JS中可以使用for in对对象进行遍历
        for (var key in obj) {
            console.log(key,obj[key]);
        }
    </script>

结果如下:
在这里插入图片描述

四、对象的小练习

统计一个字符串中每一个字符出现的次数

统计一个字符串中每一个字符出现的次数,例:
var str = “hello world”;
{
h:1,
e:1,
l:3,

}


	<script>
        var str = "befasdbbbbbbbbewwwwwwwwwwwssssssssfffffffscccccccsfasdewr";
        let obj = {}; // 空对象

        for(var i=0; i<str.length; i++){
            var s = str[i];
            if(obj[s]){
                obj[s]++
            }else{
                obj[s] = 1;  // {b:1,e:1,f:1,a:1,s:1,d:1}
            }
        }
        console.log(obj);
    </script>

结果如下:
在这里插入图片描述

统计出出现最多的那个字符

	<script>
        // 统计出出现最多的那个字符?
        var str = "befasdbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbewwwwwwwwwwwwwwssssssssfffffffscccccccsfasdewr";
        let obj = {}; // 空对象

        for(var i=0; i<str.length; i++){
            var s = str[i];
            if(obj[s]){
                obj[s]++
            }else{
                obj[s] = 1;  // {b:1,e:1,f:1,a:1,s:1,d:1}
            }
        }
        // console.log(obj);

        var max = 0; 
        var char = "";
        for (var key in obj) {
            obj[key]
            if(obj[key] > max){
                max = obj[key]
                char = key;
            }
        }
        console.log(char,max);
    </script>

结果如下:
在这里插入图片描述

如果一样多,都要找出来

	<script>
        // 如果一样多,都要找出来
        var str = "aaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbcccccccccccccccccdsfasdf";
        let obj = {}; // 空对象

        for(var i=0; i<str.length; i++){
            var s = str[i];
            if(obj[s]){
                obj[s]++
            }else{
                obj[s] = 1;  // {b:1,e:1,f:1,a:1,s:1,d:1}
            }
        }
        console.log(obj);

        var max = 0; 
        var char = "";
        for (var key in obj) {

            if(obj[key] === max){
                char += key
            }
            if(obj[key] > max){
                max = obj[key]
                char = key;
            }

        }
        console.log(char,max);
    </script>

结果如下:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值