JavaScript中二维数组的查找案例

  介绍

这篇文章将为大家详细讲解有关JavaScript中二维数组的查找案例,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在一个二维数组中(每个一维数组的长度相同),每一行都按照从左到右递增的顺序排序,每一列都按照从上到下递增的顺序排序。请完成一个函数、输入这样的一个二维数组和一个整数,判断数组中是否含有该整数。

<>强基本思路

二维数组是有序的,比如下面的数据:

1 2 3   4 5 6   7 8 9

可以直接利用左下角数字开始查找:

大于:比较上移

小于:比较右移

<强>代码思路

将二维数组看作平面坐标系

从左下角(0,加勒比海盗。长度是1)开始比较:

目标值大于坐标值——- x坐标+ 1

目标值小于坐标值——- y坐标1

注意:

二维数组arri中

j代表x坐标

我代表y坐标

<强>代码

函数找到(目标,数组){   让我=数组。长度- 1;//y坐标   让j=0;//x坐标   返回比较(目标,数组,i, j);   }      比较(目标函数,数组,i, j) {   如果(array[我]===定义| |阵列[我][j]===未定义){   返回错误;   }   数组常量temp=[我][j];   如果(目标===temp) {   返回true;   }   else if(目标比;临时){   返回比较(目标,数组,i, j + 1);   }   else if(目标& lt;临时){   返回比较(张目标,数组,j);   }   }

<>强拓展:二分查找

二分查找的条件是必须有序。

和线性表的中点值进行比较,如果小就继续在小的序列中查找,如此递归直到找到相同的值。

函数binarySearch(数据、加勒比海盗、开始、结束){   如果(开始在){   返回1;   }   var=中期数学。地板(开始(结束+)/2);   如果(data=https://www.yisu.com/zixun/=arr(中期)){   返回中期;   }else if(数据

关于JavaScript中二维数组的查找案例就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看的到。

JavaScript中二维数组的查找案例