题目:
写出最大数
回答:
let count = function(a,b){
? ? let num1 = a.toString()
? ? let num2 = b.toString()
? ? return (num2+num1)-(num1+num2)
}
let last = arr.sort(count)
let arr = [18,20,33,4,5]
let num = last.join('')
console.log(last,'last')
最终得出最大数字符串: 5433218
技术点:
sort(): arr.sort()可以直接使用,也可以在sort中放入function回到函数和箭头函数,由于sort本身存在缺陷,他会判断utf-8可能会导致判断出现问题,所以大多数使用sort()都是在里面放箭头函数:
arr.sort((a,b)=>a-b)使用这行代码就可以获得正确的顺序.
arr.sort(count): 上面的count函数有两个传入值,但在arr.sort(count)中却没有传入,这是因为sort()函数会自动传入所以我们只用写函数名,不需要写arr.sort(count(a,b)).
arr.join(): 当得出的结果是[5,4,33,20,18],排序已经完成,但是目前还是数组的情况怎么办,这时候使用arr.join(),就可以变成字符串,arr.join('')可以将数组变成字符串,Array.join()
方法可以将数组的元素连接成一个字符串,使用指定的分隔符将元素隔开。如果你使用空字符串(''
)作为分隔符,Array.join('')
将会将数组中的元素直接连接在一起,没有任何分隔符.