1. 程式人生 > >FreeCodeCamp之數組排序查找指定元素

FreeCodeCamp之數組排序查找指定元素

寫法 索引 ble pan num style clas spa 但是

題目:數組排序並找出元素索引

先給數組排序,然後找到指定的值在數組的位置,最後返回位置對應的索引。

舉例:where([1,2,3,4], 1.5) 應該返回1。因為1.5插入到數組[1,2,3,4]後變成[1,1.5,2,3,4],而1.5對應的索引值就是1

同理,where([20,3,5], 19) 應該返回 2。因為數組會先排序為 [3,5,20]19插入到數組[3,5,20]後變成[3,5,19,20],而19對應的索引值就是2

本題主要是學習sort的用法,sort用於給數組排序,用法arr.sort();返回一個排好序的新數組。但是sort排序是根據字符串Unicode碼點來排序,和我們想象的不一樣

。一般使用arr.sort(function)定義一個排序函數,此時根據函數的返回值來進行排序。最基本的寫法arr.sort(function(a,b){return a-b;});將實現升序排序。

function where(arr, num) {
arr.push(num);
arr.sort(function(a,b){
return a-b;
});
return arr.indexOf(num);
}

where([5, 3, 20, 3], 5);

FreeCodeCamp之數組排序查找指定元素