一.对象的优化
const person={
name: zhangsan
age: 18
}
Object.keys(person);获取对象中所有的属性名
Object.values(person);获取对象中所有的值
Object.entries(person);获取对象中所有的key-value
const name={name: zhangsan};
const age = {age: 18}
Object.assign(target, name, age);将name和age复制到target中
const name = "zhangsan";
const age = 18;
const person = {name:name, age:age}或
const person= {name, age}如果变量的名称相同,可以简写这种方式
拷贝对象
const newPerson={...person}
合并对象
const newPerson2={...person,...newPerson}
二.数组中的map 和 reduce
map和java中map类似,接受一个函数,返回一个数组
let arr =[1,2,3,4]
arr = arr.map(item => item * 2)
reduce() 可以传四个参数,第一个参数是上一次处理后的值,或者提供的值;第二个参数是当前的值,第三个参数是index,第四个是调用的数组
arr.reduce((a,b) => {console.log("上一次处理的值"+a);
console.log("当前的值"+b)
return a+b})
三.异步排版
let p = new Promise((resolve, reject) =>{
&.ajax({
url: "mock/user.json",
success: function(data){
resolve(data);
},
error: function(data){
reject(data);
}
});
});
p.then((obj) => {
return new Promise((resolve, reject) => {
&.ajax({
url: `mock/user_corse${obj.id}.json`,
success: function(data){
resolve(data);
},
error: function(data){
reject(data);
}
});
});
}).then((data) => {
console.log(data.id)
})