JS陣列排列方法

2021-10-10 23:34:43 字數 842 閱讀 9189

陣列有兩個方法可以用來對元素重新排列

顧名思義,將陣列進行反向排列

比如

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 ...