Skip to content
此页的目录大纲

数组操作

在各种业务场景中,可能会用到的一些数组操作

创建初始数组

javascript
import { createArr } from "js-fast-way"

createArr('默认内容') // ['默认内容']

value 非必传

  • 类型: -
  • 默认: ''
  • 说明: 数组中的默认值, 默认为空字符串

len 非必传

  • 类型: Number
  • 默认:1
  • 说明: 数组长度

返回内容

  • 类型: any[]
  • 说明:返回创建后的数组

数组随机打乱

javascript
import { arrShuffle } from "js-fast-way"

arrShuffle([1,2,3,4,5]) // [2, 4, 1, 5, 3]

arr 必传参数

  • 类型: Array
  • 说明:数组数据

返回内容

  • 类型: Array
  • 说明:返回打乱的数组

数组中是否存在

有两种,一种是一位数组,一种是二维数组的判断

javascript
import { isArrItem, isArrIndex } from "js-fast-way"

//一维数组中是否存在
isArrItem([1,2,3,4,5], 1) // true

//二维数组中是否存在
let variable;
isArrIndex([{id:1},{id:2}], 'id', 2, variable) // true
console.log(variable) // 1

arr 必传参数

  • 类型: Array
  • 说明: 一位数组 或 二维数组

field 二维数组可用

  • 类型: String
  • 说明: 字段名

key 必传参数

  • 类型: -
  • 说明: 内容 或 字段值

variable 非必传

  • 类型: -
  • 说明: 用于接收数组中的索引值

返回内容

  • 类型: Boolean
  • 返回值:true | false

二维数组索引

一维数组使用 js 自带的 indexOf 即可,二维数组使用 arrIndex 方法

javascript
import { arrIndex } from "js-fast-way"

arrIndex([{id:1},{id:2}], 'id', 2) // 1

arr 必传参数

  • 类型: Array
  • 说明: 一位数组 或 二维数组

field 必传参数

  • 类型: String
  • 说明: 字段名

key 必传参数

  • 类型: -
  • 说明: 内容 或 字段值

返回内容

  • 类型: Number
  • 返回值:所在位置的索引,不存在就返回 -1

删除指定元素

把数组中指定的元素移除掉

javascript
import { arrDel, arrDelKey } from "js-fast-way"

//一维数组
arrDel([1,2,3,4,5], 1) // [2, 3, 4, 5]

//二维数组
arrDelKey([{id:1},{id:2}], 'id', 2) // [{id:1}]

arr 必传参数

  • 类型: Array
  • 说明: 一位数组 或 二维数组

field 二维数组可用

  • 类型: String
  • 说明: 字段名

key 必传参数

  • 类型: -
  • 说明: 内容 或 字段值

返回内容

  • 类型: Array
  • 返回值:返回移除后的数组

删除其它元素

除了所传的元素外,其它的元素都会被移除掉

javascript
import { arrDelOther, arrDelKeyOther } from "js-fast-way"

//一维数组
arrDelOther([1,2,3,4,5], 1) // [1]

//二维数组
arrDelKeyOther([{id:1},{id:2}], 'id', 2) // [{id:2}]

arr 必传参数

  • 类型: Array
  • 说明: 一位数组 或 二维数组

field 二维数组可用

  • 类型: String
  • 说明: 字段名

key 必传参数

  • 类型: -
  • 说明: 内容 或 字段值

返回内容

  • 类型: Array
  • 返回值:返回移除后的数组

删除左边的元素

移除数组中,所传参数的左边所有元素

javascript
import { arrDelLeft, arrDelKeyLeft } from "js-fast-way"

//一维数组
arrDelLeft([1,2,3,4,5], 3) // [3, 4, 5]

//二维数组
arrDelKeyLeft([{id:1},{id:2},{id:3}], 'id', 2) // [{id:2},{id:3}]

arr 必传参数

  • 类型: Array
  • 说明: 一位数组 或 二维数组

field 二维数组可用

  • 类型: String
  • 说明: 字段名

key 必传参数

  • 类型: -
  • 说明: 内容 或 字段值

返回内容

  • 类型: Array
  • 返回值:返回移除后的数组

删除右边的元素

移除数组中,所传参数的右边所有元素

javascript
import { arrDelRight, arrDelKeyRight } from "js-fast-way"

//一维数组
arrDelRight([1,2,3,4,5], 3) // [1, 2, 3]

//二维数组
arrDelKeyRight([{id:1},{id:2},{id:3}], 'id', 2) // [{id:1},{id:2}]

arr 必传参数

  • 类型: Array
  • 说明: 一位数组 或 二维数组

field 二维数组可用

  • 类型: String
  • 说明: 字段名

key 必传参数

  • 类型: -
  • 说明: 内容 或 字段值

返回内容

  • 类型: Array
  • 返回值:返回移除后的数组

替换元素位置

替换数组中两个元素的位置

javascript
import { arrReplace } from "js-fast-way"

arrReplace([1,2,3], 1, 3) // [3, 2, 1]

arr 必传参数

  • 类型: Array
  • 说明: 原始数组

item1 必传参数

  • 类型: -
  • 说明: 元素1

item2 必传参数

  • 类型: -
  • 说明: 元素1

返回内容

  • 类型: Array
  • 返回值:返回替换后的数组

数组的交集

两个数组的交集, 两个数组的元素为数值或字符串

javascript
import { arrIntersection } from "js-fast-way"

arrIntersection([1,2,3], [3,4,5]) // [3]

arr1 必传参数

  • 类型: Array
  • 说明: 数组1

arr2 必传参数

  • 类型: Array
  • 说明: 数组2

返回内容

  • 类型: Array
  • 返回值:返回新的数组数据

数组的并集

两个数组的并集, 两个数组的元素为数值或字符串

javascript
import { arrUnion } from "js-fast-way"

arrUnion([1,2,3], [3,4,5]) // [1, 2, 3, 4, 5]

arr1 必传参数

  • 类型: Array
  • 说明: 数组1

arr2 必传参数

  • 类型: Array
  • 说明: 数组2

返回内容

  • 类型: Array
  • 返回值:返回新的数组数据

包含某个元素

要查询的数组是否至少有一个元素包含在目标数组中

javascript
import { arrSomeOf } from "js-fast-way"

arrSomeOf([1,2,3], [6,4,5]) // false

arr1 必传参数

  • 类型: Array
  • 说明: 数组1

arr2 必传参数

  • 类型: Array
  • 说明: 数组2

返回内容

  • 类型: Boolean
  • 返回值:true | false

拼接二维数组中的ID

拼接二维数组中的ID字段为字符串

javascript
import { arrToId } from "js-fast-way"

arrToId([{id: 1},{id: 2},{id: 3}]) // '1,2,3'

arr 必传参数

  • 类型: Array
  • 说明: 二维数组

返回内容

  • 类型: String
  • 返回值:返回拼接后的字符串

拼接二维数组中的字段

拼接二维数组中的自定义字段内容为字符串,arrToId() 就是基于此方法封装的

javascript
import { arrToKey } from "js-fast-way"

arrToKey([{id: 1},{id: 2},{id: 3}], 'id', '-') // '1-2-3'

arr 必传参数

  • 类型: Array
  • 说明: 二维数组

field 非必传

  • 类型: String
  • 默认: id
  • 说明: 字段名

join 非必传

  • 类型: String
  • 默认: ,
  • 说明: 分隔符

返回内容

  • 类型: String
  • 返回值:返回拼接后的字符串

取数组数据

取数组数据, 如果数据存在,就返回原始数据。如果不存在 或者非数组类型,就返回 []

javascript
import { getArrValue } from "js-fast-way"

getArrValue('1111') // []

value 必传参数

  • 类型: -
  • 说明: 数据内容

返回内容

  • 类型: Array
  • 返回值:返回数组数据

取数组中的值

javascript
import { arrKeyValue } from "js-fast-way"

const arr = [
    {id: 1, name: '张三'},
    {id: 2, name: '李四'},
    {id: 3, name: '王五'}
]
arrKeyValue(arr, 'id', 'name', 2) // '李四'

arr 必传参数

  • 类型: Array
  • 说明: 二维数组

field 必传参数

  • 类型: String
  • 说明: 字段名

key 必传参数

  • 类型: String
  • 说明: 内容 或 字段值

value 必传参数

  • 类型: String
  • 说明: 字段值

返回内容

  • 类型: -

数组对象排序

javascript
import { arrKeySort } from "js-fast-way"

const arr = [
    {id: 1, name: '张三'},
    {id: 3, name: '王五'},
    {id: 2, name: '李四'},
]
arrKeySort(arr, 'id', 'asc') // [{id: 1, name: '张三'}, {id: 2, name: '李四'}, {id: 3, name: '王五'}]

arr 必传参数

  • 类型: Array
  • 说明: 二维数组

field

  • 类型: String
  • 说明: 字段名
  • 默认: id

order

  • 类型: String
  • 说明: 排序方式, 正序 asc 或 倒序 desc
  • 默认: asc

返回内容

  • 类型: Array

indexQf查询 V0.4.9

不区分大小写的一维数组查询

javascript
import { indexQf } from "js-fast-way"
const arr = ['Abc','ABCd']
indexQf(arr,'abc') // 0

arr 必传参数

  • 类型: Array
  • 说明: 一维数组

val 必传参数

  • 类型: String
  • 说明: 要查询的内容

返回内容

  • 类型: Number
  • 返回值:返回索引,不存在为-1

最子级的数据 V0.4.9

递归获取最子级的数据

javascript
import { recursionChildren } from "js-fast-way"
const arr = [{
    key: 'my1',
    children: [{
        key: 'my1-1',
        children: [{
            key: 'my1-1-1'
        }]
    }]
}]

recursionChildren(arr, {
    index: 0,
    children: 'children',
    key: 'key'
})  //my1-1-1

arr 必传参数

  • 类型: Array
  • 说明: 数组数据

parameter

  • 类型: Object
  • 说明: 参数
  • 参数说明如下
javascript
{
    index: 0, //取数组中的第几个的索引
    children: 'children',   //子级的字段名
    key: 'key'  //要返回的字符名,可为空,为空则返回整个数据对象
}

Released under the MIT License.