• 【ES6】-- 对象、数组、字符串常用API


     ♡ ‧₊˚ 对象API拓展‧₊˚ ♡

             is 

     比较两个数是否相等 返回值:true/false

    1. console.log(Object.is(+1,-1)); // false
    2. console.log(Object.is(+0,-0)); // false
    3. console.log(+0===-0); // true
    4. console.log(NaN===NaN); // false
    5. console.log(Object.is(NaN,NaN)); // true

            assign  

    • 两个参数时(复制对象,被复制对象):复制/拷贝,返回值是第一个参数
    1. // 把第二个参数复制给第一个参数
    2. let res = Object.assign(obj,obj1);
    3. console.log(res, obj); //{ name: 'zzy', age: 17 } { name: 'zzy', age: 17 }
    4. console.log(res===obj); // true
    • 三个参数是合并对象,(合并对象1,合并对象2,合并对象3),返回值是第一个参数
    1. let obj2 = {};
    2. let obj3 = {name:"fhj"}
    3. let obj4 = {gender:"female"};
    4. let res1 = Object.assign(obj2,obj3,obj4);
    5. console.log(res1, obj2); // { name: 'fhj', gender: 'female' } { name: 'fhj', gender: 'female' }

    .获取原型对象的方法

    1. let obj5 = {name:"xiao"};
    2. console.log(obj5.__proto__); // [Object: null prototype] {}
    3. console.log(obj5.constructor.prototype);  // [Object: null prototype] {}
    4. console.log(Object.getPrototypeOf(obj5)); // [Object: null prototype] {}

    设置原型对象中的方法

    1. Object.setPrototypeOf(obj,obj1) // 将obj的原型对象设置为obj1
    2. console.log(obj.__proto__); // { name: 'zzy', age: 17, class: { number: '222' } }
    3. console.log(obj.constructor.prototype);  // [Object: null prototype] {}
    4. console.log(Object.getPrototypeOf(obj));  // { name: 'zzy', age: 17, class: { number: '222' } }

    Object.keys()  | Object.values()   | Object.entries() 

    1. console.log(Object.keys(obj),"返回键值组成的数组"); // [ 'name', 'age', 'class' ] 返回键值组成的数组
    2. console.log(Object.values(obj),"返回值组成的数组"); // [ 'ts', 17, { number: '222' } ] 返回值组成的数组
    3. console.log(Object.entries(obj),"返回键值对组成的数组"); // [ [ 'name', 'ts' ], [ 'age', 17 ], [ 'class', { number: '222' } ] ] 返回键值对组成的数组

    fromEntries()

    用于把二维数组还原成对象

    1. console.log(Object.fromEntries(Object.entries(obj)));
    2. // { name: 'ts', age: 17, class: { number: '222' } }

     ♡ ‧₊˚ 数组API拓展‧₊˚ ♡

    Array.from();

    将类数组对象转换为数组

    console.log(Array.from("hello")); // [ 'h', 'e', 'l', 'l', 'o' ]

    Array.of();

    创建数组实例

    1. let a = Array.of(10, "hello");
    2. console.log(a); // [ 10, 'hello' ]

    Array.prototype.find((item)=>{})

     find方法返回第一个满足条件的元素或者undefined, 参数是回调函数

    1. var arr = [1, 2, 3, 4, 5];
    2. let res = arr.find((item, index, arr) => {
    3.   return item > 3;
    4. });
    5. console.log(res); // 4 (元素)

    Array.prototype.findIndex();

    返回第一个满足条件的元素的索引或者-1, 参数是回调函数

    1. var arr = [1, 2, 3, 4, 5];
    2. let res1 = arr.findIndex((item, index, arr) => {
    3.   return item > 4;
    4. });
    5. console.log(res1); // 4 (索引)

    Array.prototype.includes();

    includes是否包含某个元素,返回true/false

    1. var arr = [1, 2, 3, 4, 5];
    2. console.log(arr.includes(300)); // false

    Array.prototype.fill()

    用来填充数组,修改原数组

    1. var arr = [1, 2, 3, 4, 5];
    2. arr.fill(8); //参数 返回值 修改原数组
    3. console.log(arr); // [ 8, 8, 8, 8, 8 ]

    flat()

    数组扁平化

    1. var arr1 = [1,2,[3,[4],5],6,7,8]
    2. console.log(arr1.flat(2)); // 参数为层级深度参数(默认为1)

    flatMap()  

    flat + map   通过对map调整后的数据尝试展平操作

    1. var arr2 = [1,2,3,[4,5,6]]
    2. // 需求:将数组中的每个元素展平再乘以2
    3. let b = arr2.flatMap((item)=>{
    4.     if(typeof item==='number'){
    5.         return item*2;
    6.     }else{
    7.         return item.map(item=>{
    8.             return item*2;
    9.         })
    10.     }
    11. })
    12. console.log(b); // [ 2, 4, 6, 8, 10, 12 ]

     ♡ ‧₊˚ 字符串API拓展‧₊˚ ♡

    trimStart()

    去除前面的空格

    1. let str = " Taylor Swift ";
    2. console.log(str + '22');
    3. console.log(str.trimStart());

    trimEnd()

    去除后面的空格

    1. let str = " Taylor Swift ";
    2. console.log(str + '22');
    3. console.log(str.trimEnd() + '22');

    padStart padEnd 

    填充字符串,  参数(填充完的字符串长度,填充的字符串)

    如果没有第二个参数,则自动用空格填充

    1. let str = " Taylor Swift ";
    2. console.log(str.padStart(15)); // Taylor Swift
    3. console.log(str.padEnd(20,'Alison')); // Taylor Swift Alison

    replace()

    替换

    1. let str1 = '111222333';
    2. // 将1替换成x
    3. console.log(str1.replace('1','x'));
    4. // 用正则表达式开启g模式全局替换
    5. console.log(str1.replace(/1/g,'x'));

  • 相关阅读:
    c# 实现定义一套中间SQL可以跨库执行的SQL语句
    Swift 5.7发布!2022年9月12日
    利用Python处理DAX多条件替换
    数据结构-散列表
    python-Matplotlib画图那些你不知道的事
    【LeetCode题目详解】第八章 贪心算法 part06 738.单调递增的数字 968.监控二叉树 (day37补)
    线程同步的实现
    来测测你的智力——智力题
    (rabbitmq的高级特性)死信交换机
    西西成语接龙小助手
  • 原文地址:https://blog.csdn.net/qq_48802092/article/details/126877538