zoukankan      html  css  js  c++  java
  • mwutil 公用方法库文档 ——arrayTool

    array

    方法合集

    isArray、deepClone、findIndex、removeItems、unique、uniqueByFiled、getSimpleValuesByField、sort、sortByField、delVoid、deepFlat

    isArray

    概念

    判断是不是Array类型(会区分object)

    参数列表

    / 参数类型 参数意义 参数示例
    array Array 要判断的数组 [1,2,3]

    返回列表

    返回类型 返回说明 返回示例
    Boolean 是返回true,否返回false true/false

    使用方法

    import { arrayTool } from "mwutil"
    arrayTool.isArray([1,2,3])
    

    备注


    deepClone

    概念

    深拷贝,支持jsonArray,多维数组

    参数列表

    / 参数类型 参数意义 参数示例
    array Array 要克隆的数组 [1,[1,2],{a:1}]

    返回列表

    返回类型 返回说明 返回示例
    Array 返回克隆之后的数组 [1,[1,2],{a:1}]

    使用方法

    import { arrayTool } from "mwutil"
    arrayTool.deepClone([1,2,3])
    

    备注


    findIndex

    概念

    获取指定item第一次出现的位置(支持任意类型的item)

    参数列表

    / 参数类型 参数意义 参数示例
    array Array 要排查的数组 [1,"a",{a:1}]
    item * 要查找的item {a:1}

    返回列表

    返回类型 返回说明 返回示例
    Number 元素在数组中的位置0开始,如果没找到返回-1 2

    使用方法

    import { arrayTool } from "mwutil"
    arrayTool.findIndex([1,"a",{a:1}],{a:1})
    

    备注


    removeItems

    概念

    删除指定的内容的一项(不影响原数组,支持任意格式的item)

    参数列表

    / 参数类型 参数意义 参数示例
    array Array 原数组 [1,"a",{a:1}]
    item * 要删除的item {a:1}

    返回列表

    返回类型 返回说明 返回示例
    Array 删除之后的克隆数组 [1,"a"]

    使用方法

    import { arrayTool } from "mwutil"
    arrayTool.removeItems([1,"a",{a:1}],{a:1})
    

    备注


    unique

    概念

    数组去重(仅支持普通数组,不替换原数组)

    参数列表

    / 参数类型 参数意义 参数示例
    array Array 原数组 [1,"a","a","1"]

    返回列表

    返回类型 返回说明 返回示例
    Array 去重之后的克隆数组 [1,"a"]

    使用方法

    import { arrayTool } from "mwutil"
    arrayTool.unique([1,"a",{a:1}],{a:1})
    

    备注


    uniqueByFiled

    概念

    根据对象的指定key判定去重(不替换原数组)

    参数列表

    / 参数类型 参数意义 参数示例
    array Array 原数组 [{a:1},{a:2},{a:2,b:1},{a:1,b:2},{c:1}]
    field String 对象key "a"

    返回列表

    返回类型 返回说明 返回示例
    Array 去重之后的克隆数组 [{a:1},{a:2},{c:1}]

    使用方法

    import { arrayTool } from "mwutil"
    arrayTool.uniqueByFiled([{a:1},{a:2},{a:2,b:1},{a:1,b:2},{c:1}],"a")
    

    备注


    getSimpleValuesByField

    概念

    根据对象的指定key生成新数组(不替换原数组)

    参数列表

    / 参数类型 参数意义 参数示例
    array Array 原数组 [{a:1},{a:2},{a:2,b:1},{a:1,b:2},{c:1}]
    field String 对象key "a"

    返回列表

    返回类型 返回说明 返回示例
    Array 生成之后的克隆数组 [1,2,2,1]

    使用方法

    import { arrayTool } from "mwutil"
    arrayTool.getSimpleValuesByField([{a:1},{a:2},{a:2,b:1},{a:1,b:2},{c:1}],"a")
    

    备注


    sort

    概念

    数组排序(仅针对一维数字、字符串数组,不替换原数组)

    参数列表

    / 参数类型 参数意义 参数示例
    array Array 原数组 [1,3,4,2,6,5]
    spec Boolean 正倒序 true/false默认true(正,从小到大)

    返回列表

    返回类型 返回说明 返回示例
    Array 排序之后的克隆数组 [1,2,3,4,5,6]

    使用方法

    import { arrayTool } from "mwutil"
    arrayTool.sort([1,3,4,2,6,5],true)
    

    备注


    sortByField

    概念

    根据key对jsonArray的排序(不替换原数组)

    参数列表

    / 参数类型 参数意义 参数示例
    array Array 原数组 [{a:1},{a:3},{a:2}]
    field String 对象key "a"

    返回列表

    返回类型 返回说明 返回示例
    Array 排序之后的克隆数组 [{a:3},{a:2},{a:1}]
    :-: :-: :-:
    spec Boolean 正倒序

    使用方法

    import { arrayTool } from "mwutil"
    arrayTool.sortByField([{a:1},{a:3},{a:2}],"a")
    

    备注


    delVoid

    概念

    去掉数组中的null、undefined(不影响原数组)

    参数列表

    / 参数类型 参数意义 参数示例
    array Array 要被过滤的数组 [1,null,2,undefined,3]

    返回列表

    返回类型 返回说明 返回示例
    Array 删除过后的数组 [1,2,3]

    使用方法

    import { arrayTool } from "mwutil"
    arrayTool.delVoid([1,null,2,undefined,3])
    

    备注

    暂时无法判断NaN,因为isNaN("a") == true


    deepFlat

    概念

    数组扁平化(多维数组变为一维,不影响原数组)

    参数列表

    / 参数类型 参数意义 参数示例
    array Array 要被过滤的数组 [[1,2,[3,[4]]],5,[{a:1}]]]

    返回列表

    返回类型 返回说明 返回示例
    Array 扁平过后的数组 [1,2,3,4,5,{a:1}]

    使用方法

    import { arrayTool } from "mwutil"
    arrayTool.deepFlat([1,null,2,undefined,3])
    

    备注

    数组内部json的key是array的话则无法扁平,例如[[{a:[1,2]}],2] => [{a:[1,2]},2]


  • 相关阅读:
    每天一个linux命令(20):linux chmod命令
    每天一个linux命令(19):Linux 目录结构
    每天一个linux命令(18):find 命令概览
    每天一个linux命令(17):locate 命令
    shiro实战系列(一)之入门实战
    nginx反向代理和tomcat集群(适用于ubutnu16.04及其centos7)
    Ubuntu16.04之开发环境构建
    Drools实战系列(三)之eclipse创建工程
    Drool实战系列(二)之eclipse安装drools插件
    谈谈maven多模块
  • 原文地址:https://www.cnblogs.com/jinzhenzong/p/13534800.html
Copyright © 2011-2022 走看看