陣列有兩個方法可以用來對元素重新排列
顧名思義,將陣列進行反向排列
比如
let a = [1,2,3,4,5]
a.reverse();
alert(a)//5,4,3,2,1
預設情況下,sort()會按照公升序重新排列陣列,即小的在前,大的災後,為此,sort()會在每一項上呼叫sring()轉型函式,然後比較字串來決定順序。即使陣列的元素都是數值,也會把陣列轉換成字串在比較。
因此排序會有些錯誤
var a = [
0,1,5,10,15
]console.log(a.sort())//輸出 0,1,10,15,5
sort()可以接收乙個比較函式,用於判斷哪個值應該排在最前面。
比較函式接受兩個引數,如果第乙個引數應該排在第二個引數前面就返回負值,反之則返回正值,如果兩個引數相等就返回0
function compare (value1,value2) else if (value1 > value2)else
}console.log(arr.sort(compare))
箭頭函式寫法
arr.sort((value1,value2)=> value1 < value2 ? -1 : value1 > value2 ? 1 : 0)
簡單寫法
function compare (value1,value2) {
return value1 - value2
如果需要反序可將1改為-1或者使用reverse()反序 js陣列 把豎向陣列排列為橫向陣列
專案中會遇到為了渲染方便要把後台給的豎向陣列排列為橫向陣列 例 後台傳回的陣列為 2004,2005,2006,2007,2008 46890000,55900500,33786400,57054400,61834100 28440000,29340700,15127600,16771500,365...
數字陣列的全排列 js
傳入乙個陣列引數 陣列裡面的數字互不相同 返回陣列數字全排列的所有情況的陣列 思路 從陣列的數字裡面選乙個,放在第一項,剩下的數字遞迴全排 沒考慮去重的問題 function fullsort arr for var i 0 i arr.length i return result for var ...
js陣列方法
array.json 方法將陣列中所有元素都轉化為字串並連線在一起 預設逗號 返回生成的字串,原陣列不改變 例 var a 1 2,3 a.join 1,2,3 a.join 1 2 3 array.reverse 方法將陣列中的元素顛倒順序 返回逆序的陣列,原陣列改變 例 var a 1,2,3 ...