js dichotomy find an array of JSON objects

Field Description:

arr: the value you want to find, field:: array, key JSON key field

 //二分查找
  binarySearch(arr, key,field) {
    var low = 0,
      high = arr.length - 1;
    while (low <= high) {
      var mid = parseInt((high + low) / 2);
      if (key == arr[mid][field]) {
        return mid;
      } else if (key > arr[mid][field]) {
        low = mid + 1;
      } else if (key < arr[mid][field]) {
        high = mid - 1;
      } else {
        return -1;
      }
    }
  }
接口格式:[{},{},{}]

例:let logiListIndex = t.binarySearch(t.data.logiList,item.HYID,"HYID");
t.data.logiList json数组
item.HYID 需要查找的值
"HYID" JSON字段key
Published 74 original articles · won praise 7 · views 10000 +

Guess you like

Origin blog.csdn.net/qq_38188047/article/details/103524983