文章目录
Array.from(类数组)
Array.from(类数组) 将类数组转换为数组
var ary = [];
function A() {
ary = Array.from(arguments);
}
A(1, 2, 3, 10, 9);
console.log(ary);
sort中的a,b代表的每一项
var ary=[{
age:10},{
age:20},{
age:1}];
ary.sort(function(a,b){
console.log(a,b);
//第一次a为第一项 b为第二项
//第二次a为第二项 b为第三项
//我们让它根据age排序
return a.age-b.age;
})
console.log(ary);//[ { age: 1 }, { age: 10 }, { age: 20 } ]
JSON
JSON是一种常用的数据格式,不是数据类型(前端和后台需要来回的传递数据,一般传递的数据格式就是JSON数据类型)
属性名必须得用双引号引起来,属性值可以是任意的数据类型
- JSON对象转为普通对象
JSON.parse(JSON对象)
- 普通对象转JSON对象
JSON.stringify(普通对象)
var obj='{"name":"li","age":10}';
var res=JSON.parse(obj);//JSON.parse(json格式的属性) 转为普通对象
console.log(res);//{ name: 'li', age: 10 }
console.log(obj.name);//undefined
var obj2=JSON.stringify(res);//JSON.stringify(普通对象) 普通对象转为JSON格式
console.log(obj2);//"{"name":"li","age":10}"
浅克隆
共用一个引用地址,
改变的其中的引用数据类型的话,会有连带作用
,基本数据类型没事
var obj={
name:"li",age:10,aa:{
c:100}};
var obj2={
};
for(var key in obj){
obj2[key]=obj[key];
}
console.log(obj,obj2);//{ name: 'li', age: 10, aa: { c: 100 } } { name: 'li', age: 10, aa: { c: 100 } }
obj2.aa.c=200;
obj.name="wang";
console.log(obj,obj2);//{ name: 'wamg', age: 10, aa: { c: 200 } } { name: 'li', age: 10, aa: { c: 200 } }
深克隆
用
JSON.parse(JSON.stringify(普通对象
))可以克隆一份一模一样的,而且没有任何关联
var obj={
name:"li",age:10,aa:{
c:100}};
var obj2={
}