javascript实战笔记

1.flat() - 数组扁平化

flat()会按照指定的深度递归遍历数组,并将所有元素与遍历到的子数组中的元素合并,返回新数组

let arrayOne = [0, 1, 2, [3]]
arrayOne.flat()  // [0, 1, 2, 3]
 
let arrayTwo = [0, 1, 2, [[[3]]]];
arrayTwo.flat(2)  // [0, 1, 2, [3]]
arrayTwo.flat(3)  // [0, 1, 2, 3, 4]
 
//使用 Infinity,可展开任意深度的嵌套数组
let arrThree = [1, 2, [3, 4, [5, 6, [7, 8, [9, 10]]]]]
arrThree.flat(Infinity)  // [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
 
// flat()方法会移除数组中的空项
let arrFour = [1, 2, , , 3, 5]
arrFour.flat()  // [1, 2, 3, 5]

2.includes - 判断数组有某个指定的值

includes()方法用来判断一个数组中是否包含某个指定的值,包含则返回 true,否则返回 false

let arr = ['123', '456', '789']
arr.includes('123')   // true
arr.includes('134')   // false
arr.includes('789',1)   // true 从下标1开始筛选
 
注:使用includes()查找字符串是区分大小写的

3.Object.values() - 返回对象所有值(数组)


let obj = {
  name: "Frazire",
  age: 28,
  like: "music"
}
Object.values(obj)  // [ 'Frazire', 28, 'music' ]

4.Object.keys() - 返回对象所有键(数组)

let obj = {
  name: "Frazire",
  age: 28,
  like: "music"
}
Object.keys(obj)  // [ 'name', age, 'like' ]

5.Object.entries() - 将对象转化为数组 (键值对数组)

let obj = {
  name: "Frazier",
  age: 28,
  like: "music"
}
Object.entries(obj)  // [ [ 'name', 'Frazier' ], [ 'age', 28 ], [ 'like', 'music' ] 

6.set - 数组去重

let array = [1, 1, 2, 3, 5, 5, 1]
let newArray = [...new Set(array)]  // [1, 2, 3, 5]

7.数字转换字符串

const num = 1 + ""
console.log(num) // "1"
console.log(typeof num) // "string"

8.字符串转换数字

let int = +"15"
console.log(int) // 15
console.log(typeof int) // "number"

9.快速幂运算

使用 ** 进行幂运算,比使用 Math.power(2,3) 要快得多

2 ** 3 // 8 
注:3个2相乘  2*2*2

10.小数快速取整

可以使用 Math.floor()、Math.ceil() 或 Math.round() 将浮点数转换成整数,但有另一种更快的方式,即使用位或运算符 |

23.9 | 0   // 23
-23.9 | 0  // -23

11.at() - 动态取值

.at()支持正索引和负索引

let arr = [1,2,3,4,5]
arr.at(-1)  //5
arr.at(-2)  //4

12.repeat - 复制字符串)

let str = 'xiaoMing'
str.repeat(2) // 'xiaoMingxiaoMing'

不定时更新中······

  • 7
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Mr. LiangChao

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值