在 JavaScript 中檢查一個數組是否按照一些雜亂的字母順序以詞典序排序


我們需要編寫一個 JavaScript 函式,該函式接受一個字串單詞陣列作為第一個引數。函式的第二個引數將是一個字串,其中包含所有 26 個英語小寫字母,但順序是隨機打亂的。

我們的函式的任務是檢查陣列中的單詞是否按照第二個引數指定的順序正確地按照詞典序排列。如果是,我們應該返回 true,否則返回 false。

例如 −

如果單詞的輸入陣列和順序為 −

const arr = ['this', 'is', 'something', 'mad'];
const order = 'hdetljnopqabcuvwxfgirsykmz';

那麼輸出應該是 −

const output = true;

因為“t”在“i”之前,“i”在“s”之前,“s”在“m”之前,依此類推。

示例

程式碼如下 −

 線上演示

const arr = ['this', 'is', 'something', 'mad'];
const order = 'hdetljnopqabcuvwxfgirsykmz';
const isPlacedCorrectly = (arr = [], order) => {
   const { length } = arr;
   for(let i = 0; i < length - 1; i++){
      for(let j =0; j < arr[i].length;j++){
         if(order.indexOf(arr[i][j])< order.indexOf(arr[i+1][j])) {
            break;
         }
         else if (order.indexOf(arr[i][j]) === order.indexOf(arr[i+1][j])){
            continue;
         } else {
            return false;
         }
      }
   }
   return true;
};
console.log(isPlacedCorrectly(arr, order));

輸出

在控制檯中的輸出將是 −

true

更新於: 26-Feb-2021

275 次瀏覽

開啟你的 職業生涯

透過學習課程獲得認證

開始
廣告
© . All rights reserved.