FreeCodeCamp之數組排序查找指定元素
阿新 • • 發佈:2017-09-29
寫法 索引 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之數組排序查找指定元素