首页 > 其他分享 >字符串、数组、对象、新增方法

字符串、数组、对象、新增方法

时间:2023-02-10 13:58:50浏览次数:44  
标签:console log 对象 Object 新增 数组 字符串

 

字符串的新增方法:

1.includes(),判断字符串中是否含有某些字符。includes里面有两个参数,第一个参数是查找的内容,第二个参数是从下标第几个开始查找,如果不写默认就是0;
console.log("abc".includes("a", 0)); //从第0个开始返回true,
2.padStart(内容长度,'补充内容')里面有两个参数,第一个是字符串长度,第二个是长度不够填充的内容;padEnd是从后面补充内容
(1)原来的字符串长度,等于或者大于最大长度,不会消减原来的字符串,字符串补全不会生效,返回原字符串(基于长度必须比原来长度要大)。
(2)用来补全的字符串与原来字符串长度之和超过了最大长度,截去超出位数的补全字符串,原字符串不动。
(3)如果省略第二个参数,则用空格来填充长度。
   console.log("a".padStart(5, "b")); //从前面补全5位数,用b来补全
   console.log("a".padEnd(5, "c")); //从后面面补全5位数,用b来补全

 

3.  stimStart()和stimEnd()清除字符串的首或尾空格,中间的空格不会清除两边一次性去除(trim()方法)。

数组新增方法::

1.数组的includes:判断数组中是否含有某个成员,他里面的NaN也等于NaN。(1)Array.from();将其他数据类型转换成数组(有terator对象的)跟有length属性的.
(2)Array.from();第二个参数是一个回调函数()作用类似于数组的map(forEach差不多)方法,用来对每个元素进行处理,将处理后的值放入返回数组。
console.log(Array.from("12", (value) => value * 2)); //2,4

 

(3).第三个参数:回调函数的this指向; 2.find():找到满足条件的一个立即返回值本身;
      let a = [1, 2, 3, 4, 1];
      console.log(
        a.find((value, index, arr) => {
          // console.log(value, index, arr);第一个参数是变量值,第二个是下标,第三个是自己本身。
          return value > 2; //判断条件
        })
      );//输出的是参数3

 

findlndex();找到满足条件的一个,立即返回其索引值,find()方法里面是回调函数,形参有三个值,第一个是数组值,第二个是索引值,第三个是数组本身。在函数体内设置判断条件,返回值就是数组中满足设置判断条件的内容。第二个参数:回调函数的this指向;
      let a = [1, 2, 3, 4, 1];
      console.log(
        a.findindex((value, index, arr) => {
          // console.log(value, index, arr);第一个参数是变量值,第二个是下标,第三个是自己本身。
          return value > 2; //判断条件
        })
      );//输出的是下标2

 

对象的新增方法:

1.Objcet.assign()合并对象。跟{...{},...{}}理解差不多,两个方法差不多但是Objcet.assign直接把第二个参数合并到了第一个,返回的是第一个,而展开运算这个是一个全新的对象;objcet,返回的是第一个参数,如果想获取新的参数则第一个参数可以直写入一个空字符串。
基本数据类型作为源对象,与对象展开类似,先转换成对象,在合并,在assign()里面,第一个参数是目标对象,后面的都是源对象。
合并属性里面有相同的值,后面的直接覆盖前面的。
 const zs = { name: "张三", sex: "男", age: 16 };
 const ls = { name: "李四", sex: "女", age: 22 };

 console.log(Object.assign(zs, ls) == zs); //返回 true合并到第一个变量中去

 


2.Object.keys()、Object.values()、Object.entries() ,后面()写获取的对象的名字,
(1):Object.keys(),获取对象的键名,返回数组;
   const zs = {
        name: "张三",
        sex: "男",
        age: 16,
      };
      for (let key of Object.keys(zs)) {
        console.log(key); //输出键名
      }
(2):Object.values(),获取对象的值;返回对象
   const zs = {
        name: "张三",
        sex: "男",
        age: 16,
      };
      for (let key of Object.values(zs)) {
        console.log(key); //输出键值
      }

 

(3):Object.entries(),获取对象和值;返回二维对象。
    const zs = {
        name: "张三",
        sex: "男",
        age: 16,
      };
      for (let key of Object.entries(zs)) {
        console.log(key); //输出键名与键值的数组
      }

 

对象的这三个属性和数组这3个属性的区别,对象的这三个方法是构造函数的方法需要用object打点调用方法把需要使用的对象名字放入到里面去,并且返回的都是数组。数组的这3个方法,都是实例的方法,返回的都是iterator;
for..in和for..of都不能保证对象遍历的顺序,如果有严格的顺序遍历要求,需要手写。

标签:console,log,对象,Object,新增,数组,字符串
From: https://www.cnblogs.com/ffhyy/p/17107846.html

相关文章