1.整理数组新增方法
1.map方法:给数组中每一个元素 进行特殊处理后,返回一个新的数组
let prices=[20,30,40]
prices=prices.map(item=>item+="天")
console.log(prices)//20天 30天 40天
2.filter方法:过滤一个数组中,符合要求的元素,返回一个新数组
let counts=[40,50,80,100,20,45]
let arr=counts.filter(item=>item>=60)
//只要返回true,就是返回对应item
console.log(arr)//false
3.every: 只要有一个元素是假的,整体就返回假;some: 只要有一个符合要求,整体就返回真
let counts=[50,45,50,65,8]
let result=counts.some(item=>item>=60)
console.log(result)//true
let counts=[88,87,99,65,8]
let result=counts.every(item=>item>=60)
console.log(result)//false
2.整理字符串自增方法
1.reduce 多对一 返回一个结果 将数组中的每一个数组项,进行对应操作,返回一个新的内容
reduce的四个参数:1、previousValue (上一次调用回调返回的值,或者是提供的初始值(initialValue)) 2、currentValue (数组中当前被处理的元素) 3、index (当前元素在数组中的索引) 4、array (调用 reduce 的数组)
常用用法1:计算数组中每个元素出现的次数
let names = ['Alice', 'Bob', 'Tiff', 'Bruce', 'Alice'];
let nameNum = names.reduce((pre,cur)=>{
if(cur in pre){
pre[cur]++
}else{
pre[cur] = 1
}
return pre
},{})
console.log(nameNum); //{Alice: 2, Bob: 1, Tiff: 1, Bruce: 1}
常用用法二:数组去重
let arr = [1,2,3,4,4,1]
let newArr = arr.reduce((pre,cur)=>{
if(!pre.includes(cur)){
return pre.concat(cur)
}else{
return pre
}
},[])
console.log(newArr);// [1, 2, 3, 4]
3.ES6新增数据类型
1.map类型:key可以为任意类型的元素,原始的对象:key:value,key:value key只能是字符串
2.symbol 创建一个独一无二的值,防止出现命名冲突问题.通常用作对象的key
3.class类
class People{
//构造函数:创建对象时调用的函数,通常用于设置属性
constructor(name,age) {
this.height=100
this.name=name
this.age=age
}
//
showInfo(){
console.log(this.name)
}
}
let p1=new People("王一",21)
let p2=new People("王二",22)
console.log(p1)
console.log(p2)
最重要的特性莫过于之前我们通过原型链和冒充继承等方法实现的继承了
class Student extends People{
constructor(name,age,score){
super(name,age) //调用父类的构造函数
//super调用永远在最上面的
this.score=score
}
showInfo(){
}
}
let s1=new Student("王一",21,99)
console.log(s1)
s1.showInfo()
这里重新定义新的Student类通过extends继承People类