# js-fun-bywhj

> 封装了js常用的方法

Latest version **1.0.31** (published 2018-07-31) · MIT license · 0 weekly downloads

## Install

```sh
npm install js-fun-bywhj
pnpm add js-fun-bywhj
yarn add js-fun-bywhj
bun add js-fun-bywhj
```

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 1.0.31 |
| Published | 2018-07-31 |
| First published | 2018-06-14 |
| Weekly downloads | 0 |
| License | MIT |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 13.2 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | 王泓钧 |
| Maintainers | wudilaobaba |
| Keywords | js方法封装 |

## Links

- npm: https://www.npmjs.com/package/js-fun-bywhj
- npm.io page: https://npm.io/package/js-fun-bywhj

## Recent versions

- 1.0.31 (latest) — 2018-07-31
- 1.0.30 — 2018-07-31
- 1.0.29 — 2018-07-30
- 1.0.28 — 2018-07-30
- 1.0.27 — 2018-07-30
- 1.0.26 — 2018-07-30
- 1.0.25 — 2018-07-30
- 1.0.24 — 2018-07-30
- 1.0.23 — 2018-07-06
- 1.0.22 — 2018-07-06
- 1.0.21 — 2018-07-01
- 1.0.20 — 2018-06-28
- 1.0.19 — 2018-06-28
- 1.0.18 — 2018-06-24
- 1.0.17 — 2018-06-24
- … 17 more at https://npm.io/package/js-fun-bywhj/versions

## README

##开发流程：已写在随笔中
##使用: `npm i js-fun-bywhj`
#### 001. formatDate() 时间类型格式化
```javascript
//formatDate第一个参数必须为时间格式，第二个参数的格式如下:
//'yyyy-MM-dd hh:mm:ss'
// 'yy-M-d h:mm:ss'
// 第二个参数的格式可任意写

import {formatDate} from 'js-fun-bywhj'
console.log(formatDate(new Date(Date.now()),'yyyy-MM-dd hh:mm:ss'))

```
#### 002. padLeftZero(str,zerosCount) 字符串str不足zerosCount位自动补0
```javascript
//参数为一个字符串

import {padLeftZero} from 'js-fun-bywhj'
console.log(padLeftZero('66',3))//字符串'66'不足3位就补零，输出066

```
#### 003. indexOfObj(arr,key,value) 获取数组arr中的对象中包含{key:value}属性的对象在arr中的索引值，找不到就返回 -1
```javascript
import {indexOfObj} from 'js-fun-bywhj'
console.log(indexOfObj(arr,'name','Mike'))//在数组arr中找到对象中包含 name:'Mike'（如{age:15,name:'Mike'}）的对象所对应的索引值

```
#### 004. removeRepetitionObj(array, keys) 去掉对象中有相同keys的元素
```javascript
let a = [{
  name: 'Mike6',
  age: 60
}, {
  name: 'Mike6',
  age: 46
}, {
  name: 'Mike',
  age: 46
}, {
  name: 'Mike',
  age: 46
}, {
  name: 'Mikes',
  age: 99
}]

//适用于正常的对象组成的数组，满足：
//001.数组中包含的都是纯的Object对象
//002.每个Object对象的key名必须完全相同

//01将数组中的对象元素中，由上到下依次排查，如果发现元素的age值与其他元素的age的值相同，就删除下面的元素
console.log(removeRepetitionObj(a, ['age']));
//02将数组中的对象元素中，由上到下依次排查，如果发现元素的age值并且name值与其他元素的age、name的值完全相同，就删除下面的元素
console.log(removeRepetitionObj(a, ['age', 'name']));
// ps : 若想获取所有的keys集合，可以这样: Object.keys(a[0])  返回的是['age', 'name']

```
#### 005. removeRepetitionItem(arr) 只适用于数组中的元素全都是数字或字符串的数组进行数组去重
```javascript
import {removeRepetitionItem} from 'js-fun-bywhj'
console.log(removeRepetitionItem([11,22,33,55,22,11]))

```
#### 006. urlParse() 
###### 若不传参，则读取浏览器地址中的query，将query转为josn数据
###### 若传参，则参数必须为bane=Mike&age=12这样的字符串，然后将这样的字符串转为josn数据
```javascript
import {urlParse} from 'js-fun-bywhj'
console.log(urlParse())//读取浏览器地址中的query，将query转为josn数据
console.log(urlParse('name=Mike&age=12'))//将参数转为{name:'Mike',age:12}

```
#### 007. transferDatas(baseUrl, obj, type)
```javascript
import {transferDatas} from 'js-fun-bywhj'
//01.将json数据转为query格式：(json中为空值的key，自动删除后在进行输出)
console.log(transferDatas('',{name:'Mike',age:'14',sex:''},'get').split('?')[1])

//02.将json中为空值的key，自动删除后在进行输出一个没有空值的json对象
console.log(transferDatas('',{name:'Mike',age:'14',sex:''},'post'))

//03.GET方法提交：在基本路径后加query参数
console.log(transferDatas('www.baidu.com?a=45',{name:'Mike',age:'14',sex:''},'get'))

//04.POST方法提交，将json中为空值的key，自动删除后在进行输出一个没有空值的json对象
console.log(transferDatas('',{name:'Mike',age:'14',sex:undefined},'post'))

```
#### 008. delectArrayItem(arr, willDeletArr) 删除数组中指定的元素，适用于纯字符串或纯数字组成的数组
```javascript
//arr为原数组，将arr数组中想要删除的元素放在一个数组willDeletArr中，然后执行以下方法，即可得到删除后的数组arr
import {delectArrayItem} from 'js-fun-bywhj'
console.log(delectArrayItem([1,10,33,55,66,11],[55,11]))

//可以进行连续使用：
let allNumber = [1, 10, 33, 55, 66, 11]
//以下实现了先删除了allNumber中的55,11，再删除剩下元素中的33,1
console.log(delectArrayItem(delectArrayItem(allNumber, [55, 11]), [33, 1]))

```
#### 009. removeItemFromArr(arr,item) 在数组arr中删除item元素(item可以是对象或其他数据格式)
```javascript
import {removeItemFromArr} from 'js-fun-bywhj'
let arr = [1,2,3]
cloneArr([1,2,3],2)
console.log(arr)//[1,3]
//=============================
//若想批量删除数组中的元素，要使用setTimeout来配合执行，代码如下：
let a = [1,2,3,4,5,6]
a.map((item,index)=>{
  if(item>2){
	setTimeout(()=>{
	  removeItemFromArr(a,item)
	  console.log(a);
	},(index + 1) * 1000)
  }
})
console.log(a);//[1,2]
```
#### 010. removeArrAsObj(arr,willRemoveArr,key) 
######arr:原始数组(由对象组成的数组)
######willRemoveArr：arr中子元素(对象)组成的数字
######key:根据对象中的一个主键进行查找(字符串类型)
######返回值为原始数组删除元素以后的arr
```javascript
import {removeArrAsObj} from 'js-fun-bywhj'
let a = [{name:'王泓钧',age:12},{name:'Mike',age:45},{name:'Tom',age:45}]
console.log(removeArrAsObj(a,[{name:'Mike',age:45},{name:'Tom',age:45}],'name'));
```
#### 011. imageCompress(img, width, quality)  参数说明：图片，想要生成的图片宽度，压缩比(如90)
######将图片转为base64以后，在对这个base64进行压缩，该函数返回的是压缩后的base64字符串
```javascript
import {imageCompress} from 'js-fun-bywhj'
//在需要压缩的事件中写：
let img = new Image();
img.src = 'base64图片格式'
img.onload = function() {
  console.log(imageCompress(img, 100, 90));
}

```
#### 012. stringIsJsonStr(str) 判断字符串是否为JSON字符串 JSON字符串的格式必须为'{"name":"Mike"}' ，键值对必须双引号
```javascript
//arr为原数组，将arr数组中想要删除的元素放在一个数组willDeletArr中，然后执行以下方法，即可得到删除后的数组arr
import {stringIsJsonStr} from 'js-fun-bywhj'
console.log(stringIsJsonStr('任意字符串')
//返回true说明参数是JSON字符串，返回false说明参数不是JSON字符串
```
#### 013. wxReload() 微信页面刷新当前页
```javascript
import {wxReload} from 'js-fun-bywhj'
wxReload()//调用即可实现刷新当前微信网页
```
#### 014. randomNum(min,max) 获取min到max之间的随机整数，包含min和max
```javascript
import {randomNum} from 'js-fun-bywhj'
console.log(randomNum(1, 3))
```
#### 015. cloneArr(from) 把数组from克隆，返回克隆后的数组
```javascript
import {cloneArr} from 'js-fun-bywhj'
let arr = cloneArr([1,2,3])
```
#### 016. isEqualArr(arr1,arr2) 判断两个数组arr1、arr2是否相等(是否一一对应)
```javascript
import {isEqualArr} from 'js-fun-bywhj'
console.log(cloneArr([1,2,3],[1,2,3]))
```
#### 017. childrenSortReview(dataArr, originArr, changeArr) 原始大数组中按照从左到右的顺序抽取几个元素组成一个小数组，将该小数组中元素的顺序打乱，然后再根据打乱后顺序的数组，还原大数组
######dataArr:原始大数组
######originArr:将dataArr的一部分元素从左到右抽出组成的数组
######changeArr:在originArr的基础上将originArr中元素的顺序打乱组成的数组
```javascript
import {childrenSortReview} from 'js-fun-bywhj'
console.log(childrenSortReview([55,112,36,5,2,16,87],[112,5,16],[5,16,112]))
```

---
_Source: https://npm.io/package/js-fun-bywhj · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
