从有序数组中找到指定的值,返回对应的索引值
let arr = [1, 3, 5, 7, 8, 12, 14, 17];
- 方法1:
function getIndex(arr, val) {
return arr.indexOf(val);
}
方法2:
function getIndex(arr, val) {
for (var i = 0; i < arr.length; i++) {
if (arr[i] == val) {
return i;
}
}
}
方法3:
function getIndex(arr, val) {
return arr.findIndex(function (value) {
return value == val;
});
}
方法4:
function getIndex(arr, val) {
var start = 0;
var end = arr.length - 1;
while (start <= end) {
var middle = parseInt((start + end) / 2);
if (arr[middle] == val) {
return middle;
} else if (val < arr[middle]) {
end = middle - 1;
} else {
start = middle + 1;
}
}
return -1;
}
本文介绍了四种在有序数组中查找特定值并返回其索引的方法:使用indexOf、for循环、findIndex及二分查找法。其中,二分查找法适用于大型有序数组,效率较高。
708

被折叠的 条评论
为什么被折叠?



