ES6特性(二)

一.对象的优化

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)

})

你可能感兴趣的:(ES6特性(二))