欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2023-12-21 23:32:52
...

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():判断当前字符串是否以指定的字符串结尾。

相关标签: javascript

上一篇:

下一篇: