***数组的 .fill 方法(声明和初始化数组)
// 数组初始化替换数组中的值
const array = Array(3).fill('') // 输出['','','']
// 初始化一个二维数组
const maxArray = Array(5).fill(0).map(() => Array(5).fill(0))
// 输出
(5) [Array(5), Array(5), Array(5), Array(5), Array(5)]
0: (5) [0, 0, 0, 0, 0]
1: (5) [0, 0, 0, 0, 0]
2: (5) [0, 0, 0, 0, 0]
3: (5) [0, 0, 0, 0, 0]
4: (5) [0, 0, 0, 0, 0]
length: 5
***找出总和最小值和最大值
利用reduce方法快速找到基本的数学运算
const array = [1,2,3,4,5]
// 和
array.reduce((a,b) => a+b )
// 最小值
array.reduce((a,b) => a<b ? a:b )
//最大值
array.reduce((a,b) => a>b ? a:b )
***对字符串数组, 数字数组,对象数组进行排序
// 字符串数组排序
const strArr = ['apple','banana','orange']
strArr.sort() // 输出 ['apple','banana','orange']
strArr.reverse() // 输出 ['orange','banana','apple']
//数字数组排序
const numArr = [1,2,3]
numArr.sort((a,b) => a-b) // 输出 [1,2,3]
numArr.sort((a,b) => b-a) // 输出 [3,2,1]
//对象数组排序
const objArr = [
{ name: 'zhangsan', age: 20 },
{ name: 'lisi', age: 18 },
{ name: 'wangwu', age: 19 }
]
//升序
objArr.sort((a,b) => a.name.localeCompare(b.name))
// 输出
(3) [{…}, {…}, {…}]
0: {name: "lisi", age: 18}
1: {name: "wangwu", age: 19}
2: {name: "zhangsan", age: 20}
length: 3
// 降序
objArr.sort((a,b) => b.name.localeCompare(a.name))
// 输出
(3) [{…}, {…}, {…}]
0: {name: "zhangsan", age: 20}
1: {name: "wangwu", age: 19}
2: {name: "lisi", age: 18}
length: 3
注意:localeCompare方法只能用在对象数组的字符串上
***从数组中过滤出虚假值
const arr = [1, 2, '', false, null, undefined]
const newArr = arr.filter(Boolean)
// 输出newArr [1,2]
***创建计数器
let str = 'stystallsy'
const obj = {}
for(let item of str) {
obj[item] = obj[item] + 1 || 1
}
console.log(obj);
// 输出 {s: 3, t: 2, y: 2, a: 1, l: 2}
***超拽的三元表达式
实际开发中往往会有很多的if else 判断 你可以避免使用过多的if else判断
function T (num) {
return num > 37 ? 'high fever'
:num < 37 ? 'low fever'
:num === 37 ? 'normal'
}
// 输出
T(37) "normal"
T(38) "high fever"
***简单理解for in for of
- for … in 会提供元素的索引
- for … of 直接获取元素, 不能为您提供索引
***多个对象的合并
快速记忆 …(点点点)
点点点(…) 三点运算符也叫扩展运算符,字面意思就是把东西展开
const newObj = { ...obj1, ...obj2, ...obj3 }
***箭头函数
箭头函数不能再所有情况下使用,有一定的局限性,箭头函数没有this指向
***将对象属性转换成属性数组
三个方法:
- entries
- keys
- values
const obj = { a: 1, b: 2, c: 3 }
Object.entries(obj)
// 输出
[ ["a", 1],["b", 2],["c", 3] ]
Object.keys(obj)
// 输出
["a", "b", "c"]
Object.values(obj)
// 输出
[1, 2, 3]
评论区