天天看點

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循環。如下圖所示:

JavaScript找出兩個一維數組中相同元素以及它們各自在所在數組中的下标、有無return和return fasle差別

(2)沒有return

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

當程式的條件語句中沒有return的時候,會列印出是以滿足條件的情況,會将for循環執行完,運作結果如下圖:

JavaScript找出兩個一維數組中相同元素以及它們各自在所在數組中的下标、有無return和return fasle差別

除了上面的有無return的問題,那麼我還有一個疑問,那return 和return false的差別是什麼呢?

return 隻是簡單的阻止目前function内部之後的代碼執行,相當于隻傳回一個值,不影響外部代碼;

return false能夠阻止整個語句子產品向下繼續執行,通常我們再使用它的時候,都是希望代碼不在往下執行了。而且,return false相對于return來說,還傳回了一個false。比如,請求回來出現什麼錯誤我們可以用到。比如上述代碼中我随意添加return false語句,結果都會有所不同,以程式和運作截圖為參考:

(一)、

1、

JavaScript找出兩個一維數組中相同元素以及它們各自在所在數組中的下标、有無return和return fasle差別

2、

JavaScript找出兩個一維數組中相同元素以及它們各自在所在數組中的下标、有無return和return fasle差別

3、

JavaScript找出兩個一維數組中相同元素以及它們各自在所在數組中的下标、有無return和return fasle差別

4、

JavaScript找出兩個一維數組中相同元素以及它們各自在所在數組中的下标、有無return和return fasle差別