Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Javascript

ค้นหาสตริงเฉพาะในอาร์เรย์โดยใช้ 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