一些好用的JavaScript技巧:扁平化数组、Object.entries、replaceAll方法

扁平化数组

     原型 Array 上有一个方法 flat

        const arr = [1,  ,2, [3, 4, [5, 6]]]
        const reasut = arr.flat()
        console.log(reasut)//[1, 2, 3, 4, [5, 6]]

     不传递参数的时候默认为一层,并且当数组里面有空项的时候,会过滤掉空值。

        const arr = [1,, 2, [3, 4, [5, 6]]]
        const reasut = arr.flat(2)
        console.log(reasut)// [1, 2, 3, 4, 5, 6]

     也可以定义一个深度级别,指定一个嵌套的数组结构应该被扁平化的深度。

     当传入 Infinity 时,相当于扁平化最深层次的数组。

        const arr = [1,, 2, [3, 4, [5, [6]]]]
        const reasut = arr.flat(Infinity )
        console.log(reasut)// [1, 2, 3, 4, 5, 6]

Object.entries

      大多数情况下我们使用 Object.keys 方法来迭代对象,此方法仅返回对象键的数组。

     而Object.values 方法仅返回对象键值的数组。

        const person = {name:'WJM',age:18}
        console.log(Object.keys(person));// ['name', 'age']
        console.log(Object.values(person));// ['WJM', 18]
        console.log(Object.entries(person));//[['name', 'WJM'],[['age', 18]]]
        // 之前使用 keys 获取键和值
        Object.keys(person).forEach((key) => {
            console.log(`${key} is ${person[key]}`);
        });
 
        // 使用 entries 获取键和值
        Object.entries(person).forEach(([key, value]) => {
            console.log(`${key} is ${value}`);
        });
 
        // name is WJM
        // age is 18

     两种方法都返回相同的结果,但 Object.entries 获取键值相对来说更容易。

replaceAll方法

     它用另一个字符串值替换所有出现的字符串

        const str = 'WJM-18岁-是个男的';
        console.log(str.replaceAll('-', ' '));//WJM 18岁 是个男的

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值