Computer >> Máy Tính >  >> Lập trình >> Javascript

Tìm tất cả các tổ hợp chuỗi con trong mảng trong JavaScript

Chúng tôi được yêu cầu viết một hàm JavaScript sử dụng một mảng chuỗi. Hàm sẽ tìm tất cả các kết hợp chuỗi con và chuỗi dấu sao tồn tại trong mảng và trả về một mảng gồm các phần tử đó.

Ví dụ - Nếu mảng là -

const arr = ["abc", "abcd", "abcde", "xyz"];

Sau đó, đầu ra phải là -

const output = ["abc", "abcd", "abcde"];

bởi vì hai đầu tiên là chuỗi con của cuối cùng.

Ví dụ

Mã cho điều này sẽ là -

const arr = ["abc", "abcd", "abcde", "xyz"];
const findStringCombinations = (arr = []) => {
   let i, j, res = {};
   for (i = 0; i < arr.length - 1; i++) {
      if (res[arr[i]]) {
         continue;
      };
      for (j = i + 1; j < arr.length; j++) {
         if (res[arr[j]]) {
            continue;
         }
         if (arr[i].indexOf(arr[j]) !== -1 || arr[j].indexOf(arr[i]) !== -1) {
            res[arr[i]] = true;
            res[arr[j]] = true;
         }
      };
   };
   const result = arr.filter(el => res[el]);
   return result;
};
console.log(findStringCombinations(arr));

Đầu ra

Và đầu ra trong bảng điều khiển sẽ là -

[ 'abc', 'abcd', 'abcde' ]