可能会用到的js

4 篇文章 1 订阅
//vue节流,防抖动,防止多次点击触发
//utils.js
let timer = null
function debounce(fn,wait){
	if(timer!==null){
		clearTime(timer)
	}
	timer = setTimeout(fn,wait)
}

<view class="btn" @click="handle">点击事件</view>
//引入调用
import {debounce} from 'common/util.js'
handle(){
	let _t = this
	debounce(()=>{
		_t.num+=1
		console.log(_t.num)
	},1000)
}

//实现数组的随机排序
let arr =[1,2,3,4,5,6]
arr.sort(function(a,b){
	return Math.random() >0.5 ?-1:1
})

//大小排序
arr.sort( (a,b) => a - b )排序
//对象排序
arr = arr.sort((() => (a,b)=> a['id'] - b['id'])());

//数组去重,对象数组去重
let arr1=[1,1,1,2,3,3,4,5,5,]
function uniqueArr(arr){
	let newArr = []
	for(let i=0,len=arr.length;i<len;i++){
		if(newArr.indexOf(arr[i]===-1)){
			newArr.push(i)
		}
	}
	return newArr
}
//indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置。
//如果没有找到匹配的字符串则返回 -1。
console.log(uniqueArr(arr))

简单写法
let o = [1,2,1,2,1,3,4,5]
let p = Array.from(new Set(o))
对象去重
function ArrSet(Arr, id) {
  var obj = {};
  const arrays = Arr.reduce((setArr, item) => {
    obj[item[id]] ? '' : obj[item[id]] = true && setArr.push(item);
    return setArr;
  }, []);
  return arrays;
}

//
function uniqueArr(arr){
		let nArr = [];
		for (let i = 0; i < arr.length; i++) {
			if (nArr .indexOf(arr[i].id) == -1) {
				nArr .push(arr[i].id);
			} else {
				arr.splice(i, 1);
			};
		};
		return arr;
	}
//将真/假值转换为布尔值
!!"" // false
!!0 // false
!!null // false
!!undefined // false
!!NaN // false

!!"你好" // true
!!1 // true
!!{} // true
!![] // true
//从数组中计算最大值/最小值
Math.max(1, 2, 3, 4); // 4
Math.min(1, 2, 3, 4); // 1
var numbers = [1, 2, 3, 4];
Math.max.apply(null, numbers) // 4
Math.min.apply(null, numbers) // 1
Math.max(...numbers) // 4
Math.min(...numbers) // 1

//改进嵌套条件
if(name='a'){
	ft1()
}else if(name=='b'){
	ft2()
}
//改进
let nameObj = {
	'a':ft1,
	'b':ft2
}
if(name in nameObj){
	nameObj[name]()
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值