zoukankan      html  css  js  c++  java
  • 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()返回一个数组的迭代对象,该对象包含数组的键值对。

  • 相关阅读:
    Java实现 蓝桥杯VIP 算法训练 黑色星期五
    Java实现 蓝桥杯VIP 算法训练 比赛安排
    Java实现 蓝桥杯VIP 算法训练 比赛安排
    Java实现 蓝桥杯VIP 算法训练 斜率计算
    Java实现 蓝桥杯VIP 算法训练 斜率计算
    Java实现 蓝桥杯VIP 算法训练 整数平均值
    Java实现 蓝桥杯VIP 算法训练 整数平均值
    控件动态产生器(使用RegisterClasses提前进行注册)
    Delphi编写自定义控件以及接口的使用(做了一个TpgDbEdit)
    Log4delphi使用心得
  • 原文地址:https://www.cnblogs.com/atao24/p/15356015.html
Copyright © 2011-2022 走看看