Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> JavaScript

Tìm chuỗi duy nhất (không có ký tự trùng) trong mảng - JavaScript

Cho mảng chuỗi, tìm chuỗi đầu tiên không có ký tự nào trùng lặp (tất cả ký tự đều duy nhất). Trả về false nếu không tìm thấy.

Ví dụ

Mảng: ['54gdgdfe3', '434ffd', '43frdf', '43fdhnh', 'wgcxhjny', 'fsdf34']

Chuỗi 'wgcxhjny' không có ký tự trùng.

Giải pháp

Mã triển khai:

const arr = ['54gdgdfe3', '434ffd', '43frdf', '43fdhnh', 'wgcxhjny', 'fsdf34'];

const isUnique = str => {
  // Kiểm tra mỗi ký tự có indexOf === lastIndexOf không
  return str.split('').every(el => str.indexOf(el) === str.lastIndexOf(el));
};

const findUniqueString = arr => {
  for (let i = 0; i < arr.length; i++) {
    if (isUnique(arr[i])) return arr[i];
  }
  return false;
};

console.log(findUniqueString(arr));

Kết quả

Đầu ra trong console:

wgcxhjny

Tối ưu: Dùng Set: new Set(str).size === str.length.