方法或函数
1.includes():返回布尔值,表示是否找到了参数字符串
(1)string.includes
const str= 'shyno大帅逼' const str1 = '大帅逼' console.log('includes',str.includes(str1)) //true
(2)array.includes
const arr= ['shyno','大帅逼'] const str1 = '大帅逼' console.log('includes',arr.includes(str1)) //true
2.去掉字符串空格
trim()
:去掉字符串两端空格
trimStart()
:去掉字符串前端空格
trimEnd()
:去掉字符串后端空格
const str= ' shyno 大帅逼 ' console.log('includes1',str.trim()) //'shyno 大帅逼' console.log('includes2',str.trimStart()) //'shyno 大帅逼 ' console.log('includes3',str.trimEnd()) //' shyno 大帅逼'
3.拓展运算符
(1)深拷贝
const arr = [1,2,3] const arr1 = [...arr] arr1[0]=4 console.log('kkkk',arr,arr1)//[1,2,3] [4,2,3]
(2)数组添加元素
const arr = [1,2,3] const arr1 = [...arr,4] console.log('kkkk',arr1)//[1,2,3,4]
(3)对象添加属性
const obj = { name:'shyno', age:18 } const obj1 = {...obj,sex:'男'} console.log('kkkk',obj1)//{name: "shyno", age: 18, sex: "男"}
(4)修改对象属性值(重复属性名以后面的为主)
const obj = { name:'shyno', age:18 } const obj1 = {...obj,age:17} console.log('kkkk',obj1)//{name: "shyno", age: 17}
4.Array.from()将类数组和可遍历对象转化成数组
5.对象的简洁写法
const name = 'shyno' const age = 18 //日常写法 const you = { name:name, age:age } //属性名与属性值变量名相同时可简写 const me = { name, age } console.log('kkkk',you,me)//{name: "shyno", age: 18},{name: "shyno", age: 18}
6.Object.keys(obj)对象的键值:返回一个键的数组
const obj = { name:'shyno', age:18 } console.log(Object.keys(obj))//["name", "age"]
7.Object.values()对象的属性值:返回一个值的数组
const obj = { name:'shyno', age:18 } console.log(Object.values(obj))//["shyno", 18]
9.Object.entries()对象的属性键值对:返回一个数组-----如何将一个对象转化成数组
const obj = { name:'shyno', age:18 } console.log(Object.entries(obj))//[{name:'shyno',age:18}]
10.flat()嵌套数组的平铺,平铺后,空元素会被去除
const arr = [1,[2,3],[[4,5],6]] console.log(arr.flat())//[1,2,3,[4,5],6] console.log(arr.flat(1))//[1,2,3,[4,5],6] console.log(arr.flat(2))//[1, 2, 3, 4, 5, 6]
11.join()用特定字符串将数组元素拼接成字符串
const arr = [1, 2, 3]; console.log('join', arr.join(',')) // join 1,2,3
语法糖
1.筛选出数组中符合条件的元素
filter()+箭头函数 不改变原来数组
const arr = [1,2,3,4,5,6] console.log('1',arr,arr.filter((item)=>item>3))//[1,2,3,4,5,6],[4,5,6]
2.对象数组的所有元素添加或者改变某个属性 改变原来数组
map()+箭头函数
const arr =[ {name:'shyno',age:18},{name:'shy',age:18},{name:'no',age:17}] arr.map((item)=>item.sex='男') console.log('1',arr)//[ {name:'shyno',age:18,sex:'男'},{name:'shy',age:18,sex:'男'},{name:'no',age:17,sex:'男'}]
3.根据某数组的长度生成同长度的新数组 不改变原数组
map()+箭头函数
const arr =[ {name:'shyno',age:18},{name:'shy',age:18},{name:'no',age:17}] const arr1 = arr.map(()=>1) console.log('1',arr1)//[1,1,1]
4.es6链式判断.主要是用于非空判断的逻辑,减少代码量
?.
const me = { name: 'shyno', age: { before: 18, now: 18, after: 18, }, }; let isYoung = me?.age?.now === 18; // 等于 me && me.age && me.age.now ===18 console.log('isYoung', isYoung); //isYoung true