let str1 = 'reverse string'
str1 = str1.split('').reverse().join('')
console.log('str1=', str1)
let str = 'searchString'
let searStr = str.indexOf('Str')
let searStr1 = str.search('Str')
console.log('searStr=', searStr, searStr1)
let strText = 'strText'
let subStr = strText.slice(3, strText.length)
let subStr1 = strText.substring(3, strText.length)
let subStr2 = strText.substr(3, 4)
console.log('subStr=', subStr, subStr1, subStr2)
let strText2 = 'replace text'
strText2 = strText2.replace('text', 'str')
console.log('strText2=', strText2)
let arr1 = [1, 2]
let arr2 = [3, 4]
let andArr = arr1.concat(arr2)
console.log('andArr=', andArr)
let arr3 = [1, 1, 2, 2, 3, 4]
let dupArr = [... new Set(arr3)]
let dupArr1 = Array.from(new Set(arr3))
console.log('dupArr', dupArr, dupArr1)
let arr4 = [1, 2, 3, 4, 5],
arr5 = [5, 6, 7, 8, 9]
let intersection = arr4.filter(function (val) { return arr5.indexOf(val) > -1 })
const arrSet1 = new Set(arr4),
arrSet2 = new Set(arr5)
let intersection1 = arr4.filter(item => arrSet2.has(item))
console.log('intersecition', intersection, intersection1)
let arr6 = [1, 2, 3, 4, 5, 6]
let revArr = arr6.reverse()
console.log('revArr=', revArr)
let arr7 = [2, 45, 68, 12, 4]
let sortArr = () => {
for (let i = 0; i < arr7.length; i++) {
for (let j = 0; j < arr7.length - i; j++) {
if (arr7[j] > arr7[j + 1]) {
[arr7[j], arr7[j + 1]] = [arr7[j + 1], arr7[j]]
}
}
}
return arr7
}
console.log('冒泡排序', sortArr(arr7))
let sortArr1 = arr7.sort((a, b) => {
return a - b;
})
console.log('sort函数排序', sortArr1)
let randomArr = [65, 12, 87, 12, 52]
let quickSort = (arr) => {
if (arr.length <= 1) {
return arr;
}
let index = Math.floor(arr.length / 2)
let val = arr.splice(index, 1)
let leftArr = [],
rightArr = []
for (let i = 0; i < arr.length; i++) {
if (arr[i] < val) {
leftArr.push(arr[i])
} else {
rightArr.push(arr[i])
}
}
return quickSort(leftArr).concat(val, quickSort(rightArr))
}
console