JavaScript找出两个一维数组中相同元素以及它们各自在所在数组中的下标有无return和return fasle区别

Posted 尔嵘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了JavaScript找出两个一维数组中相同元素以及它们各自在所在数组中的下标有无return和return fasle区别相关的知识,希望对你有一定的参考价值。

我们可以借助F12在谷歌任意浏览器页面运行js,或者使用js在线运行代码,以便我们更好检查程序运行是合理与正确性。

function comperied(){
		let arr1 = [111,555,666,888,125,421,637,890],
			arr2 = [999,88,521,637,218,333,888,999,],
			num1 = null,num2 = null;
		
		for(let i = 0;i < arr1.length;i++){
			for(let j = 0;j < arr2.length;j++){
				if(arr1[i] === arr2[j]){
                    return console.log(arr1[i],`'arr1数组的第'+${i+1}+'个元素和arr2数组的第'+${j+1}+'个元素相同'`);
				    // console.log(arr1[i],`'arr1数组的第'+${i+1}+'个元素和arr2数组的第'+${j+1}+'个元素相同'`);
				}
			}
		}
		
}

this.comperied();

js中关于条件语句中有return和没有return的区别:

(1)有return

用于js脚本程序中需要返回或者拿到某一个值,就那上面代码来说:

if(arr1[i] === arr2[j]){
  return console.log(arr1[i],`'arr1数组的第'+${i+1}+'个元素和arr2数组的第'+${j+1}+'个元素相同'`);
}

当程序执行到条件满足arr1[i] === arr2[j]时就返回了一个值,后面满足条件的不会再走了,即此程序中的for循环满足第一个条件返回结果之后并不会继续执行后续的for循环。如下图所示:

(2)没有return

if(arr1[i] === arr2[j]){
  console.log(arr1[i],`'arr1数组的第'+${i+1}+'个元素和arr2数组的第'+${j+1}+'个元素相同'`);
}

当程序的条件语句中没有return的时候,会打印出所以满足条件的情况,会将for循环执行完,运行结果如下图:

 

除了上面的有无return的问题,那么我还有一个疑问,那return 和return false的区别是什么呢?

return 只是简单的阻止当前function内部之后的代码执行,相当于只返回一个值,不影响外部代码;

return false能够阻止整个语句模块向下继续执行,通常我们再使用它的时候,都是希望代码不在往下执行了。而且,return false相对于return来说,还返回了一个false。比如,请求回来出现什么错误我们可以用到。比如上述代码中我随意添加return false语句,结果都会有所不同,以程序和运行截图为参考:

(一)、

1、

2、

3、

4、

(二)、将上图中return false出现位置全部替换成 return ;运行结果还是一样的

 

本文仅作参考,如意不详请另查详细!

以上是关于JavaScript找出两个一维数组中相同元素以及它们各自在所在数组中的下标有无return和return fasle区别的主要内容,如果未能解决你的问题,请参考以下文章

实验7-1-4-一维数组 找出不是两个数组共有的元素 (20 分)

JavaScript之数组

找出两个数组中不相同的元素

在 JavaScript 中,如何求出两个数组的交集和差集?

找出两个数组的相同元素,最优算法?

如何将一个一维数组中的所有数都赋值为-1?不用循环。