一.對象的優(yōu)化
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復(fù)制到target中
const name = "zhangsan";
const age = 18;
const person = {name:name, age:age}或
const person= {name, age}如果變量的名稱相同,可以簡寫這種方式
拷貝對象
const newPerson={...person}
合并對象
const newPerson2={...person,...newPerson}
二.數(shù)組中的map 和 reduce
map和java中map類似,接受一個函數(shù)甥捺,返回一個數(shù)組
let arr =[1,2,3,4]
arr = arr.map(item => item * 2)
reduce() 可以傳四個參數(shù),第一個參數(shù)是上一次處理后的值,或者提供的值;第二個參數(shù)是當(dāng)前的值凭豪,第三個參數(shù)是index胆敞,第四個是調(diào)用的數(shù)組
arr.reduce((a,b) => {console.log("上一次處理的值"+a);?
console.log("當(dāng)前的值"+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)
})