2023-03-02 从网络上的模块学习JS知识

1. 中文数字转换

日常可能有的列表我们需要将对应的012345转为中文的一、二、三、四、五...

export function transfromNumber(number){
  const  INDEX_MAP = ['零','一'.....]
  if(!number) return
  if(number === 10) return INDEX_MAP[number]
  return [...number.toString()].reduce( (pre, cur) => pre  + INDEX_MAP[cur] , '' )
}

A拓展表达式

三点运算符为对象的扩展运算符,用于取出参数对象中的所有可遍历属性,拷贝到 当前的对象之中,拓展运算符拷贝的是对象中的基本数据类型,并不是对原有对象的引用,因此修改当前对象中的值不会影响原有对象中的值。

  1. 复制数组
var number = ['吃饭', '睡觉', '睡觉'];
        // console.log(...number); // 吃饭 睡觉 睡觉
 var arr = [...number];
        // console.log(arr); // 吃饭 睡觉 睡觉
  1. 复制数组
var gameHero = { hero: '亚瑟', HP: 20 };
        // console.log(...gameHero); //不能直接打印对象,会报错
var gameHeroCopy = { ...gameHero};
        // console.log(gameHeroCopy);
 gameHeroCopy.HP = 22;
        // console.log(gameHero); // { hero: '亚瑟', HP: 20 };  不影响原有对象的值
复制数组
  1. 合并对象
var obj1= { name: '妮露' };
var obj2= { ability: '花神之舞'};
var obj3= { ...obj1 , ...obj2 };
        // console.log(obj3); // {name: '妮露', ability: '花神之舞'}
合并对象
  1. 字符串转化数组
var str = '刀剑报业,名工怀宝';
var arr = [...str];
        // console.log(arr); //['刀', '剑', '报', '业', ',', '名', '工', '怀', '宝']
字符串转化数组

除此之外还有更多应用

B reduce()方法

[1, 2, 3]reduce((pre, cur, index, array) => {},initialValue)

pre:累计器累计回调的返回值; 它是上一次调用回调时返回的累积值,当有initialValue时,pre的值就是initialValue。若没有initialValue,pre的值就是数组的第一个元素。

cur:当前值,若有initialValue,cur的值是数组的第一项。若无initialValue,cur的值是数组的第二项。

index(可选):若有initialValue,index为0。若无initialValue,index为1。

array(可选):当前的数组。

initialValue(可选): 如果没有提供初始值,则将使用数组中的第一个元素。 在没有初始值的空数组上调用 reduce 将报错。

数组累乘

reduce累乘

数组对象值求和(操作)

image.png

计算元素出现的次数

    const arr = ['神里绫华', '妮露', '迪奥娜','妮露','七七','神里绫华','莫娜','妮露','纳西妲']
    const count = arr.reduce((pre,cur) => {
      if(cur in pre) {
        pre[cur]++
      }
      else {
        pre[cur] = 1
      }
      return pre
    },{})
    console.log(count) // {lx: 2, css: 1}
计算出现次数.png

数组去重

const arr= ['神里绫华', '妮露', '迪奥娜','妮露','七七','神里绫华','莫娜','妮露','纳西妲']
const noRepeatArr = arr.reduce((pre,cur)=>{
    if(pre.includes(cur)){
        return pre
    }
    else{
        return pre.concat(cur)
    }
},[])
console.log(noRepeatArr)
数组去重
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容