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

Tìm chuỗi duy nhất và dài nhất từ mảng trong JavaScript

Cho mảng đối tượng có key text. Viết hàm nhận mảng và số n, trả về n đối tượng có chuỗi text dài nhất và giá trị text duy nhất. Nếu không đủ n đối tượng duy nhất, trả về tất cả.

Ví dụ

const arr = [  {text: 'use'},  {text: 'secur'},  {text: 'form'},  {text: 'user'},  {text: 'users'},  {text: 'form'},  {text: 'secur'},  {text: 'sec'},  {text: 'users'},  {text: 'secu'},  {text: 'secur'},  {text: 'for'},  {text: 'form'}];const sorter = (a, b) => b.text.length - a.text.length;const longestUnique = (arr, num) => {  const copy = arr.slice();  copy.sort(sorter);  const map = new Map();  const uniqueCopy = copy.filter(el => {    const exists = map.get(el.text);    if (exists) return false;    map.set(el.text, 1);    return true;  });  return uniqueCopy.splice(0, num);};console.log(longestUnique(arr, 4));console.log(longestUnique(arr, 12));

Kết quả

Đầu ra trong console sẽ là:

[  { text: 'secur' },  { text: 'users' },  { text: 'form' },  { text: 'user' } ][  { text: 'secur' },  { text: 'users' },  { text: 'form' },  { text: 'user' },  { text: 'secu' },  { text: 'use' },  { text: 'sec' },  { text: 'for' } ]