一、过滤数据中的false等
*
* @description 过滤数据中的false
* @param {arr} 过滤数组
*/
const filterFalse = (arr) => {
if (!arr || arr.length == 0) return
return arr.filter(Boolean)
};
const ele = [23,11,"123",'&&',null,false]
console.log(filterFalse(ele))
二、空值合并运算符
const nullKey = null
const empty = ''
const somenum =12
const d = nullKey??'dd'
const e= empty??'ee'
const f = somenum??'ff'
console.log(d,e,f)
三、从数组中获取最大值和最小值
const numbers =[12,23,112,3,1,23,1,23]
const max = Math.max(...numbers)
const min = Math.min(...numbers)
console.log(max,min)
四、RGB 与 HEX的转换
const rgbToHex = (r, g, b) => {
const toHex = (num) => {
const hex = num.toString(16)
return hex.length === 1 ? `0${hex}` : hex
}
return `#${toHex(r)}${toHex(g)}${toHex(b)}`
};
console.log(rgbToHex(17,65,35))
const hexToRgb = (hex) => {
let arr = [hex.slice(1, 3), hex.slice(3, 5), hex.slice(5, 7)]
let res = arr.map(item => {
return parseInt(item, 16)
})
return `rgb(${res.join(',')})`
};
console.log(hexToRgb("#114123"))
五、清空数组
const arrs =[1,23,3,12,3,1,]
arrs.length=0
console.log(arrs)
六、保留指定位小数
const nums = 0.123124124
const fixed1 =nums.toFixed(4)
const fixed2 =nums.toFixed(6)
console.log(fixed1,fixed2)
七、数组去重
const ARR = [11,22,11,21,1,1,1,1,2,22,11]
const res = [...new Set(ARR)]
console.log(res)
八、冻结对象
const Obj ={
key:'1',
value:'123',
}
Object.freeze(Obj)
Obj.value = "10"
console.log(Obj)
九、从数组中随机选择一个值
const ele = [23,11,"123",'&&',null,false]
const random = (arr)=> arr[Math.floor(Math.random()*arr.length)]
const randomEle = random(ele)
console.log(randomEle)
十、 交换变量的值
let aa ='张三'
let bb = '李四'
[aa,bb] = [bb,aa]
console.log(aa,bb)
十一、解构赋值
const object ={
key:'1',
value:'2',
array:["a","b","c"]
}
const {key,value,array} =object
const [a,b,c] = array
console.log(key,value,array,a,b,c)
十二、=== 和 == 的区别
0 ==false
0 === false
1 =="1"
1 ==="1"
null == undefined
null === undefined
十三、合并多个对象
const obj1 ={
key:'1',
value:'2'
}
const obj2 ={
name:5,
index:'3'
}
const obj ={...obj1,...obj2}
console.log(obj)
十四、十进制与十六进制和二进制的转换
const number = 52
const binaryNum = number.toString(2)
const hexNum = number.toString(16)
console.log(binaryNum,hexNum)
const hexToNum = parseInt(hexNum,16)
const binaryToNum = parseInt(binaryNum,2)
console.log(hexToNum,binaryToNum)
十五、反转字符串
const reverse =(str,separator)=>{
return str.split(separator).reverse().join(separator)
}
const sentence = '12k Lucjking false happy!!'
const reverseOne = reverse(sentence,'')
console.log(reverseOne)
const reverseTwo = reverse(reverseOne,' ')
console.log(reverseTwo)
十六、打乱数据顺序
let arr =['12',111,'long',false]
arr = arr.sort(()=>0.5-Math.random())
console.log(arr)
let str = '12312dfsfash^^^^^8r2h3uriuidij2o1i3h423&&&'
let num = str.replace(/\D/g,'')
console.log(num)