数组和对象?将对象转化成字符串模式?

本文深入探讨了数组和对象在内存中的存储位置,解释了数组实际上由对象创建并存储于堆中的原理。同时,详细介绍了两种将对象转换为字符串的方法:使用for in循环进行字符串拼接和利用JSON.stringify()进行转换,后者还可用于实现对象的深复制。

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

数组和对象?

数组实际上是由对象来创建得,又对象存在于堆中,所有数组也存在于堆中。

将对象转化成字符串模式:

方法一结合for  in用字符串拼接方式,如将对象obj转化成字符串模式

<script>

    var str="";

    for(var key in obj){

       str += key+ "=" +obj[key]+"&" //key为对象属性或方法名,obj[key]为值或方法

    }

    console.log(str);
</script>

方法二JSON方式,即将对象转换为JSON字符串,还可以将JSON字符串逆转为回对象,该对象可以是普通对象还可以是数组。如同样针对对象obj

<script>
     var str=JSON.stringify(obj);  //将对象转换为JSON字符串
     console.log(str);           //如打印出为{"a":1,"b":2,"c":3}
     var obj2=JSON.parse(str);   //逆转回对象
     console.log(obj2);
</script>

这是经常用到的方法,也常用于对象的复制。因为用for in来进行数组复制会存在引用的关系。

即利用JSON转换可以完成深复制。

属性名  in  对象  如”a”  in  obj   //返回布尔值,用于判断属性名是否在对象下,常用于if判断。也可用于数组,如 3 in arr  3指下标。

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值