介绍
这篇文章将为大家详细讲解有关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中二维数组的查找案例