1.数组的升序排序及随机排序
//当函数作为参数传递,被称为回调函数
var arr=[1,11,5,3,6,2,7,0]
//a,b是数组的其中两项
//升序排序,a>b返回正数,a<b返回负数,相等返回0
arr.sort(function compare(a, b) {
return a-b
})
//随机排序
arr.sort(function () {
return Math.random() - 0.5
})
2.伪数组变成真数组,使用slice()
var newArr = arr.slice(0) //数组克隆,不会改变原数组
console.log(newArr,arr)
console.log(newArr===arr) //false
var obj ={
0:'a',
1:'b',
length:2
}
var arr2=Array.prototype.slice.call(obj) //方法一
var arr2=[].slice.call(obj) //方法二
console.log(arr2 instanceof Array) //true
3.数组去重 slice
//数组去重
var nums = [1,4,3,2,8,4,9,0,3,4,5]
for (var i =0;i<nums.length;i++){
var item = nums[i]
//下标i之后有没有等于item的项,有的话全部删除
for (var j =i+1; j<nums.length;j++ ){
if(nums[j]===item){
nums.splice(j,1)
j--
}
}
}
4.判断下面的文件是否符合后缀名要求:
合法的后缀名:.jpg .gif .bmp .webp .png
var fileName = "d://files/mymap/image.jpg"
//1、得到文件的后缀名
var index =fileName.lastIndexOf('.')
var extname = fileName.substring(index)
//判断后缀名是否合法
var allows =['.jpg','.gif','.bmp,','.webp','.png']
if(allows.includes(extname)){
console.log("合法")
}else {
console.log("不合法")
}
5.数组去重 set
const arr = [1, 5, 3, 2, 6, 3, 8, 3]
const result = [...new Set(arr)]
console.log(result)//(6) [1, 5, 3, 2, 6, 8]
12.字符传去重 set
const str = 'adswefkakad'
const result = [...new Set(str)] //(7) ['a', 'd', 's', 'w', 'e', 'f', 'k']
console.log(result.join('')) //adswefk