SOURCE

arr = ['3','2','4','4','5','1','0','1','2']

// 数组去重 1:
// let newArr = [...new Set(arr)].sort()
// console.log(newArr)
// 2:
let newArr = []
let obj = {}
// 第一种
// arr.forEach(item => {
//    if(newArr.indexOf(item) === -1) {
//        newArr.push(item)
//    }
// })
// console.log(newArr)

arr.forEach(item => {
   if(obj[item] === undefined) {
       obj[item] = true
       newArr.push(item)
   }
})
// console.log(newArr)
// 排序
// let newSort = newArr.sort((a,b) => b- a)
// let newSort = newArr.sort()
let sort = []
let newSort = newArr[0]
for(let i = 0; i < newArr.length;i++) {
    let o = newArr[i]
    for(let j = 0; j < newSort.length; j++) {
        let k = newSort[j]
        if(o > k) {
            sort.push(o)
        }else {
            sort.unshift(o)
        }
    }
}
    // console.log(sort)

    // 反转
// let newReverse = sort.reverse()

let newReverse = []
// for(let i = sort.length - 1;i >= 0; i--) {
//     newReverse.push(sort[i])
// }
// console.log(newReverse)
for(let i = 0;i < sort.length; i++) {
    newReverse.unshift(sort[i])
}
// console.log(newReverse)

// 切割--替换

// newReverse.splice(1,2,'*','*')

// 删除 - 从索引1开始删除两个
// newReverse.splice(1,2)

// 返回的是切割的数据
// console.log(newReverse)


// 数组扁平化
let arr1 = ['1','2','3']
let arr2 = ['1','2','4','5']
let arr3 = ['1','2',['3','4',['5','6'],'7','0'],'8','9']
// let arr4 = arr2.concat(arr1)
// let arr4 = [...arr1, ...arr2]
// flat() 默认是拉平成一维数组,只拉平一层,参数是整数,代表拉平的层数
// console.log(arr3.flat(2))
let arr4 = arr1.concat(arr3.flat(2))
console.log(arr4)

console 命令行工具 X clear

                    
>
console