JavaScript算法练习:将一个数插入数组并返回其索引值
将一个数按照大小顺序插入到一个数组中,并且找出这个数在该数组中的索引值。
可以利用push,sort方法,结合for或者for in循环,indexOf实现。
方法1: push,sort 结合for循环
1 function compare(a,b){ //比较函数 2 if(a < b){ 3 return -1; 4 } else if(a > b){ 5 return 1; 6 } else { 7 return 0; 8 } 9 10 } 11 12 function where(arr,num){ 13 arr.push(num); 14 arr.sort(compare); 15 16 for(var i = 0,len = arr.length;i < len; i++){ 17 if(arr[i] === num){ 18 return i; 19 } 20 } 21 } 22 where([90,89],900) //2
方法2:push,sort ,for循环,indexOf
1 function compare (a,b){ 2 if(a < b){ 3 return -1; 4 } else if(a > b){ 5 return 1; 6 } else{ 7 return 0; 8 } 9 10 } 11 12 function where(arr,num){ 13 arr.push(num); 14 arr.sort(compare); 15 return arr.indexOf(num); 16 } 17 where([3,4,5,90],7); //3
方法3:push,sort,for in
1 function compare(a,b){ 2 if(a < b){ 3 return -1; 4 5 } else if(a > b){ 6 return 1; 7 } else { 8 return 0; 9 } 10 11 } 12 13 function where(arr,num){ 14 arr.push(num); 15 arr.sort(compare); 16 for(var i in arr){ 17 if(arr[i] >= num){ 18 return parseInt(i); 19 } 20 } 21 return arr.length 22 23 } 24 where([3,4,5,90],7); //3
其他方法:https://www.w3cplus.com/javascript/bonfire-where-do-i-belong.html

浙公网安备 33010602011771号