侧边栏壁纸
博主头像
Angel博主等级

行动起来,活在当下

  • 累计撰写 20 篇文章
  • 累计创建 8 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

JS方法

Angel
2023-07-15 / 0 评论 / 0 点赞 / 35 阅读 / 7841 字
温馨提示:
本文最后更新于 2023-07-16,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

***数组的 .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] 
0

评论区