• js 数组方法整理


    一、查找类

      1、findarray.find(function(currentValue, index, arr),thisValue),第二个参数基本不使用,返回查找到的元素,查找不到返回undefined,不改变原数组;

      2、findIndexarray.findIndex(function(currentValue, index, arr), thisValue),返回查找到的元素对应的索引位置,查找不到返回-1,不改变原数组;

      3、indexOfarray.indexOf(item,start = 0),start参数如果不传则从索引位置0开始检索,返回查找到的元素第一次出现的索引位置,查找不到返回-1;

      4、lastIndexOf:同indexOf,但返回的是查找到的元素最后一次出现的索引位置;

      5、includesarr.includes(searchElement, fromIndex = 0),fromIndex不传则从索引位置0开始检索,可为负值,开始检索位置为array.length + fromIndex,返回true或false;

    二、遍历类

      1、forEacharray.forEach(function(currentValue, index, arr), thisValue),用于调用数组的每个元素,并将元素传递给回调函数,return不能结束遍历,类似continue的效果,不修改原数组;

      2、maparray.map(function(currentValue,index,arr), thisValue)返回一个新数组,数组中的元素为原始数组元素调用函数处理后的值,不修改原数组;

      3、everyarray.every(function(currentValue,index,arr), thisValue),用于检测数组所有元素是否都符合指定条件,检测到不符合的返回false并结束遍历,否则返回true,不修改原数组;

      4、somearray.some(function(currentValue,index,arr),thisValue),用于检测数组中的元素是否满足指定条件,检测到符合的返回true并结束遍历,否则返回false,不修改原数组;

      5、filterarray.filter(function(currentValue,index,arr), thisValue),创建一个新的数组,获取数组中符合条件的所有元素,不修改原数组;

      6、reducearray.reduce(function(total, currentValue, currentIndex, arr), initialValue),接收一个函数作为累加器,不修改原数组;

      7、reduceRight:同reduce,不过累加方向相反;

    三、增删改查类

      1、pusharray.push(item1, item2, ..., itemX),向数组的末尾添加一个或多个元素,并返回新的长度,会修改原数组;

      2、poparray.pop(),删除数组的最后一个元素并返回删除的元素,会修改原数组;

      3、shiftarray.shift(),删除数组的第一个元素并返回删除的元素,修改原数组;

      4、unshiftarray.unshift(item1,item2, ..., itemX),向数组的开头添加一个或更多元素,并返回新的长度,会修改原数组;

      5、reversearray.reverse(),颠倒数组中元素的顺序,会修改原数组;

      6、fillarray.fill(value, start, end),根据传入索引值,将这些元素全部替换成value值,只传value值则整个数组元素值都换成value值,会修改原数组;

      7、copyWithinarray.copyWithin(target, start, end),从数组的指定位置拷贝元素到数组的另一个指定位置target中,不会修改数组的长度;

      8、sortarray.sort(sortfunction),对数组的元素进行排序,默认是按字母升序,则排序可能会是这样(12,30,4),数字升序可以这么写:array.sort((a,b) => a-b),会修改原数组;

      9、splicearray.splice(index,howmany,item1,.....,itemX),添加或删除数组中的元素,传入的item是要添加的新元素,index是删除和新增的位置,会修改原数组;

    四、拼接&转换

      1、concatarray1.concat(array2,array3,...,arrayX),连接两个或多个数组,返回连接后的新数组,不会修改原数组;

      2、joinarray.join(separator),通过传入的字符连接数组每一项,生成一个字符串,不传参数则默认逗号连接,会修改原数组;

      3、toLocaleStringDate.toLocaleString(),根据本地时间把 Date 对象转换为字符串,会修改原数组;

      4、toStringarray.toString(),把数组转换为字符串,逗号分隔,会改变原数组;

    五、扁平类

      1、flatarray.flat(number),对多维数组降维,number值是几就将多维数组降几维,不知道几维的数组降维一维,number传infinity,会修改原数组;

      2、flatMaparray.flatMap(() => {}),类似于map方法,但会展开一层数组,不会修改原数组;

    六、静态方法

      1、isArrayArray.isArray(obj),判断一个对象obj是否为数组,返回true或false;

      2、ofArray.of(num1,num2,...),用于将一组数值转换为数组;

      3、fromArray.from(object, mapFunction, thisValue)通过拥有 length 属性的对象或可迭代的对象来返回一个数组;

    七、generator类

      1、keysarray.keys()从数组创建一个包含数组键的可迭代对象;

      2、valuesarray.values ()从数组创建一个包含数组值的可迭代对象;

      3、entriesarray.entries()返回一个数组的迭代对象,该对象包含数组的键值对。

  • 相关阅读:
    map初始化
    map
    sort排序
    455分发饼干
    392判断子序列
    vector遍历
    vector删除数据
    VC-进程间通信(InterProcess Communication,IPC)
    Oracle 11g 安装和登录(windows)
    控制台输出宽字符wchar_t的中文显示问题
  • 原文地址:https://www.cnblogs.com/atao24/p/15356015.html
Copyright © 2020-2023  润新知