-----数组和字符串的方法

1、数组

(1)push  pop

push: 尾部添加数据。
语法:array.push(任意个实参。。。。)
作用:将所有的实参数据追加到当前数组对象末尾。
返回:当前数组的新的长度
pop:尾部删除数据
语法:array.pop();
作用:将当前数组的最后一个元素返回。并删除掉。
返回:被删除的元素。

(2)shift  unshift

shift: 开头删除数据 
语法:array.shift();
作用:删除当前数组的第一个元素。
返回:被删除的元素
unshift:开头添加数据
语法:array.unshift(......);
作用:将实参中的数据添加到数组的头部。
返回:数组的新长度

(3)join

join:转换成字符串
    作用:将当前数组的所有的元素,顺序的使用实参符号作为连接符连接成一个字符串。
    语法:array.join(连接符 ? )
          连接符:是一个字符串,可以省略。如果省略,将使用 逗号 作为默认的连接符。
          如果使用空字符串作为实参,那么连接符为空字符串。
    返回:连接成的字符串。

(4)indexOf  lastIndexOf

indexOf: 查找指定值
    作用:从当前数组中从前往后查找指定的值。
    语法:array.indexOf(key,fromIndex?)
        key: 代表要搜索的值。
        formIndex:起始搜索的索引。如果省略,从头开始搜索。
    返回:如果key 存在于 数组中,返回 key在该数值中的第一个元素的位置。
        如果没有找到,返回-1.
lastIndexOf:
    作用:同上
    语法:同上
    返回:同上。

    区别:lastIndexOf从后往前搜索。

(5)slice

slice:截取数组
    作用:获得当前数组的某一部分的子数组。
    语法:array.slice(start? , end ?)
        start: 截取的起始索引。包含。
        end:截取的结束索引。不包含。

        如果end 省略:从start 截取到末尾。
        如果两个都省略:复制数组。
    返回:截取到的子数组。

    注意:
        1:截取子串不会影响原数组数据。
        2:参数可以使用负数作为实参,负数代表了从最后一个元素往前数,
            -1代表了最后一个元素,-2代表倒数第二个元素,一次类推。

(6)splice

splice: 删除(位置,个数,增加的元素)
    作用:可以对当前数组实现增加、删除、修改元素的功能。

    增加:如果设置为 0,则不会删除项目
        array.splice(index,0,ele1,ele2....)

    删除:
        array.splice(index,removeCount);
        removeCount 删除的个数,如果设置为 0,则不会删除项目

    修改:
        array.splice(index,removeCount,ele1,ele2....)
        removeCount 和 后面的元素的个数可以不一致。


    返回:被删除的元素组成的数组。

(7)reverse

reverse:数组翻转
    作用:对当前数组进行翻转。
    语法:array.reverse()
    返回:当前被翻转的数组。

(8)sort

sort:排序
    作用:对当前数组进行升序排序。
    返回:排序之后的当前数组.
    语法:array.sort(compareFn ? )

    注意:
        1:如果 compareFn 省略,那么会使用 sort 的默认的排序规则对当前数组进行排序。
           默认的排序规则是,对所有的元素都转换为字符串,然后在排序。
        2:如果希望使用自定义的排序规则,那么就需要定义回调函数。
            sort 方法底层根据 compareFn 的返回值来确定 两个实参数据的大小。
            如果返回值为正数,那么意味着 第一个参数大于第二个参数。
            如果返回负数,那么意味着 第二个参数大于第一个参数。
            如果返回 0 意味着相等。

          compareFn 称为比较器函数。

(9)forEach

forEach:遍历数组
    作用:用来遍历当前数组对象的。
    语法:array.forEach(callbackFn);
        callbackFn : 要求有三个参数
        value:代表了当前数组中的每一个元素。
        index:代表了元素的下标
        array:代表了当前数组。

(10)map

map:映射数组
    作用:可以对当前数组的元素进行整体的某些操作。
    语法:array.map(callbackFn)
    callbackFn : 参数和 forEach的回调函数的参数一致。
    返回:操作之后的新数组

    没有修改数组自身

(11)filter

filter:过滤器
    作用:将当前数组中满足条件的元素过滤出来添加到一个新数组中。
    语法:数组.filter(callbackFn);
        callbackFn 参数和 forEach的一致。
    返回:过滤得到的新数组。

(12)find  findIndex

find:查找第一个元素
     作用:在当前数组中查找第一个满足条件的元素。
     语法:array.find(callbackFn);
         callbackFn 的参数和 forEach一致。
     返回:找到的满足条件的元素。如果没有找到 返回undefined。
findIndex:查找第一个元素的索引
     作用:在当前数组中查找第一个满足条件的元素的索引。
     语法:array.findIndex(callbackFn)
     返回:满足条件的索引,不存在,返回-1

(13)some  every 

 some:判断是否存在满足条件的元素,返回布尔值
     作用:用来判断当前数组中是否存在满足条件的元素。
     语法:array.some(callbackFn)
      callbackFn 参数同 forEach
     返回:如果有一个满足条件,那么就返回true,都不满足,返回false。
every: 判断是否全部满足条件,返回布尔值
     作用:用来判断当前数组中是否所有的元素都满足条件。
     语法:array.every(callbackFn)
      callbackFn 参数同 forEach
     返回:如果所有的元素都满足条件,那么就返回true,有一个不满足,返z回false。

 (14)includes concat

includes:  是否包含,返回布尔值
    作用:用来判断当前数组中是否包含指定的值。
    语法:数组.includes(searchElement, fromIndex ?)
        参数的意思和indexOf是一致的。
    返回 boolean值,如果 搜索到了要找的内容,返回true,没有找到返回false。
concat:连接 形成新数组
    作用:使用当前数组和实参进行拼接,形成一个新的数组,返回。
    语法:array.concat(...)
    返回:连接形成的新数组。原数组没有发生变化

(15) Array.isArray(obj)-----数组的静态函数

针对数组的静态函数:
    语法:Array.isArray(obj)
    作用:用来判断实参数据是否是数组对象的。
    返回:如果obj是一个数组,那么返回true,否则返回false。

(16)flat---转化为一维数组

如果不管有多少层嵌套,都要转成一维数组:
[1, [2, [3]]].flat(Infinity)
// [1, 2, 3]

(17)callbackFn

 callbackFn : 要求有三个参数
        value:代表了当前数组中的每一个元素。
        index:代表了元素的下标
        array:代表了当前数组。

 (18)Array.from()---用于将两类对象转为真正的数组:类似数组的对象

//转数组
let divs = document.querySelectorAll('div')
console.log(divs);
let arr2 = Array.from(divs);
console.log(arr2);

(19)Array.of() -----用于将一组值,转换为数组

Array.of(3, 11, 8) // [3,11,8]

2、字符串 

(1)repeat()---返回一个新字符串,表示将原字符串重复n次

//repeat
let res = '你好世界';
console.log(res.repeat(2));
    charAt(): 获得指定位置上的字符。
    charCodeAt():获得指定位置上的字符对应的整数值。
    
    concat(): 进行字符串连接. 和 + 的效果一致。
    indexOf(): 从当前字符串中从指定的位置从前往后搜索指定的子串,并返回搜索的结果。
         如果找到了,返回索引,没有,返回-1
    lastIndexOf(): 和indexOf功能一致,只不过是从后往前搜索。
 replace(old,new):将当前字符串中指定的内容,替换为新的指定的内容。
slice(start ? ,end ? ): 进行子串截取的。 和数组中的slice方法的参数的意思一致。
    substring(start,end): 子串截取。和 slice的功能一致。只是不支持负数。
    substr(start,length): 子串截取。从start位置开始截取,截取length个。

    split(separtor): 使用实参将当前字符串对象切割为数组。
         如果实参是 空字符串,那么会将当前字符串的每个字符作为一个元素存储到数组中。
         
    trim(): 将当前字符串的前导空白符和后导空白符删除,并返回。
    
    toLowerCase():将当前字符串中的所有的大写字符转换为小写并返回。
    toUpperCase():将当前字符串中的所有的小写字符转换为大写并返回。

    startsWith(): 判断当前字符串是否以指定的字符串开头。
    endsWith():判断当前字符串是否以指定的字符串结尾。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值