循环
1.map: 返回数组
let a=[{item:'1',off:'2'},{item:'3',off:'4'}]
let b=a.map(i => i.item) //['1','3']
- some:返回布尔值
let a=[{item:'1',off:'2'},{item:'3',off:'4'}]
let b=a.some(i => i.item==='1') //true
- find: 返回想要的一条
let a=[{item:'1',off:'2'},{item:'3',off:'4'}]
let b=a.find(i => i.item==='1') //{item: "1", off: "2"}
- filter: 返回想要的某几条
let a=[{item:1},{item:2},{item:3},{item:4}]
let b=a.filter(i => i.item>2) //[{item: 3},{item:4}]
- findIndex: 返回想要的某一条或某几条数据的第一位下标, 对空数组不执行
let a = [3, 10, 18, 20]
let findIndex = a.findIndex((item) => {
return item >12
}) // 2
杂记
1.如果后端应该返回[ ],但是返回的是‘ ’
let a = ''
let b = a||[]
//只要“||”前面为false,都返回“||”后面的值。
//只要“||”前面为true,都返回“||”前面的值。
//javascript中以下值会被转换为false
//false、undefined、null、0、-0、NAN、""
参考:链接: link
2.三元运算
let a = '1'
let b = a ==='1'?true:false
//表示:a全等于'1',那么b=true,不然就是false
let b = a ==='1'|| a ==='2'?true:false
//表示:a全等于'1'或者a全等于'2',那么b=true,不然就是false
let b = a ==='1'?true:a ==='2'?"对":"错"
//表示:a全等于'1',,那么b=true,不然a全等于'2',b=对,不然b=错
promise.all
let p1 = new Promise((resolve, reject) => {resolve('一成功')})
let p2 = new Promise((resolve, reject) => {resolve('二成功')})
Promise.all([p1, p2]).then((data) => {
console.log(data) //Promise本身返回的值["一成功", "二成功"] 全部成功才是成功
}.catch(err => {
console.log(err);//只要有一个返回失败就全部失败
})
try catch 手动失败 resolve:成功 reject:失败
a(){
if(小红===man){
return Promise reject ('小红是男的')
}
return Promise resolve() // 默认为成功
}
b(){
if(小红age===88){
return Promise reject ('小红年龄是88岁')
}
return Promise resolve() // 默认为成功
}
}
try{
a()
b()
}.catch(err){
//按照顺序一个失败就失败,不走下面的了
//如果小红是男的那么err 就是 小红是男的
//如果小红年龄是88岁那么err 就是 小红年龄是88岁
}