最新消息:文章中包含代码时,请遵守代码高亮规范!

探究类数组与json

原创文章 user 111浏览 0评论

类数组:

类似数组,但不是数组;这意味着功能更加强大,可以代替数组与对象;

在数组内添加几个属性;

var obj = { //对象
1: "a",
2: "b",
3: "c",
}
var analogyArr = { //类数组--》属性要为数字;最好加上push,但是一定要有length属性;
"0": "a",
"1": "b",
"2": "c",
"length":3,
"push":Array.prototype.push,//将一个或多个元素添加到数组的末尾,并返回数组的长度;
"splice":Array.prototype.splice//通过删除或替换现有元素
}
var arr = ["a","b","c"];//对象

上述代码在控制台可以访问到obj.length,也可以使用push与splice;在控制台打印后:

image.png

当然最关键的是有没有push的方法,要不然类数组也没什么用处;

image.png

在网上找到了一个有趣的类数组题,是16年阿里巴巴出的题目;

var setArr = {
	"2": "a",
	"3": "b",
	"length":2,
	"push" : Array.prototype.push,
}
setArr.push("c");
setArr.push("d");
//问最后这个数组长什么样子

在控制台打印的最终效果;

image.png

为什么会是这样,这就要探究到push的方法上去了

Array.prototype.push = function (target) { 
	this[this.length] = target;
	this.length ++;
}
// this.length = 2;
// this[2] = "c";
// this.length ++ = 3;

以上即是我对类数组的近期学习的总结;

json:

json是一种传输数据的格式;以对象为样板,本质上就是对象,但用途有区别,对象就是本地用的,但是json是用来传输的

JSON.parse()//将后台传值进行转化成 ==>对象

JSON.stringfiy(); //将前台传值-后台内容进行转化成 ==>“object{}”

使用方法:

var obj = {
	1: "a",
	2: "b",
	3: "b",
} 
var str= JSON.stringify(obj);//将内容进行转化成给后台传值。-->"object{}"
console.log(str) // 浏览器打印出 : "{"1":"a","2":"b","3":"b"}"
然后试下JSON.parse(str);将str转化成了 {1: "a",2: "b",3: "b",}

以上即是我对json格式近期学习的总结;

希望与大家共勉。

转载时请注明出处及相应链接,本文永久地址:https://blog.yayuanzi.com/25283.html


pay_weixin
pay_weixin
微信打赏
pay_weixin
支付宝打赏
感谢您对作者Miya的打赏,我们会更加努力!    如果您想成为作者,请点我

发表我的评论
取消评论

表情