查找JavaScript数组中的所有子字符串组合

我们需要编写一个包含字符串数组的JavaScript函数。该函数应找到数组中存在的所有子字符串和超字符串组合,并返回这些元素的数组。

例如-如果数组是-

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

那么输出应该是-

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

因为前两个是最后一个的子字符串。

示例

为此的代码将是-

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));

输出结果

控制台中的输出将是-

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

以上是 查找JavaScript数组中的所有子字符串组合 的全部内容, 来源链接: utcz.com/z/330869.html

回到顶部