使用 JavaScript 查找数组中唯一的唯一字符串

问题

我们需要编写一个接受字符串数组的 JavaScript 函数。数组中的所有字符串都包含相同的字符,或字符的重复,并且只有一个字符串包含一组不同的字符。我们的函数应该找到并返回那个字符串。

例如

如果数组是 -

[‘ba’, 'abc', 'acb', 'bac', 'foo', 'bca', 'cab', 'cba' ]

那么所需的字符串是'foo'。

字符串可能包含空格。空格不重要,只有非空格符号重要。例如,一个只包含空格的字符串就像一个空字符串。保证数组包含 3 个以上的字符串。

示例

以下是代码 -

const arr = ['ba', 'abc', 'acb', 'bac', 'foo', 'bca', 'cab', 'cba' ];

const findOnlyUnique = (arr = []) => {

   const first = [];

   for(i = 0; i < arr.length; i++){

      first.push(arr[i].toLowerCase().replace(/\s/g, '').split(''));

      for (j = 0; j < arr[i].length; j++){

         first[i].sort();

      }

   }

   const second = [];

   for (k = 0; k < arr.length; k++){

      second.push(first[k].join());

   }

   second.sort();

   const third = [];

   if (second[1] !== second[second.length - 1]) {

      third.push(second[second.length - 1]);

   }else{

      third.push(second[0]);

   }

   const last = [];

   for(let n = 0; n < first.length; n++){

      last.push(first[n].join(','));

   }

   return (arr[last.indexOf(third[0])]);

};

console.log(findOnlyUnique(arr));

输出结果
foo

以上是 使用 JavaScript 查找数组中唯一的唯一字符串 的全部内容, 来源链接: utcz.com/z/345808.html

回到顶部