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

Tìm chuỗi duy nhất duy nhất trong một mảng bằng JavaScript

Vấn đề

Chúng tôi bắt buộc phải viết một hàm JavaScript có trong một mảng chuỗi. Tất cả các chuỗi trong mảng đều chứa các ký tự giống nhau hoặc sự lặp lại của các ký tự và chỉ một chuỗi chứa một nhóm ký tự khác nhau. Hàm của chúng ta sẽ tìm và trả về chuỗi đó.

Ví dụ

Nếu mảng là -

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

Sau đó, chuỗi bắt buộc là 'foo'.

Chuỗi có thể chứa khoảng trắng. Dấu cách không có ý nghĩa, chỉ những biểu tượng không phải dấu cách mới quan trọng. Ví dụ, một chuỗi chỉ chứa khoảng trắng giống như một chuỗi rỗng. Nó được đảm bảo rằng mảng chứa nhiều hơn 3 chuỗi.

Ví dụ

Sau đây là mã -

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

Đầu ra

foo