1.转换字符串所有字母大小写
let str = 'adfdf DD ssFF'
let reverseCase = (str) => {
let res = [...str].map(item => {
return item === item.toLowerCase() ? item.toUpperCase() : item.toLowerCase()
}).join('')
return res
}
console.log(reverseCase(str)) //ADFDF dd SSff
2.字符串首字母转化大写
let str = 'i am shi niu bi ren'
let res = str.replace(/\b[a-z]/g, (str) => { return str.toUpperCase() })
console.log(res) //I Am Shi Niu Bi Ren
3.数组随机排列
const arr = [2, 4, 5, 6, 1, 7, 8, 9, 0, 3]
arr.sort((a, b) => {
return Math.random() - 0.5
})
console.log(arr)
4.求数组的最大值
const arr = [2, 4, 5, 6, 1, 7, 8, 9, 0, 3]
let res = arr.reduce((pre, cur) => {
let res = cur > pre ? cur : pre
return res
})
console.log(res)//9
let res2 = Math.max(...arr)
console.log(res2)//9
5.求数组的随机数
const arr = [2, 4, 5, 6, 1, 7, 8, 9, 0, 3]
let getRandomValue = (array) => {
return array[Math.floor(Math.random() * array.length)]
}
console.log(getRandomValue(arr))
6.判断字符串是否对称
let str1 = 'abcdcba'
let str2 = 'edcabaa'
let compare = (str) => {
return str.split('').reverse().join('') === str
}
console.log(compare(str2)) //false
7.判断数组是否有重复项
const arr = [11, 2, 2, 33, 11, 88, 33, 99]
const arr1 = [11, 2, 33, 88, 99]
let repetition = (arr) => {
return new Set(arr).size !== arr.length
}
console.log(repetition(arr)) //true
8.统计数组元素出现的次数
let arr = ["a", "b", "c", "f", "b", "b", " b", "d", "d"]
let count = (arr) => {
let res = arr.reduce((preArr, curItem) => {
preArr[curItem] = preArr[curItem] ? preArr[curItem] + 1 : 1
return preArr
}, {})
return res
}
console.log(count(arr))//{ a: 1, b: 3, c: 1, f: 1, ' b': 1, d: 2 }
9.比较数组基本类型元素是否相同
let arr1 = [null, 1, 2]
let arr2 = [undefined, 1, 2]
console.log((arr1.length === arr2.length) && (arr1.every((item, index) => {
return item === arr2[index]
})))
网友评论