JavaScriptの配列から一意で最大の文字列値を検索する
たとえば、次のようなオブジェクトの配列があります-
例
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'} ]
私たちの仕事は、この配列と数値nを受け取る関数を作成することです。この関数は、テキストキーの文字列値が最も長いn個のオブジェクトの配列を返し、すべてのオブジェクトがテキストキーの一意の値を持つ必要があります。 n個の一意のオブジェクトが存在しない場合は、すべての一意のオブジェクトを返す必要があります。
したがって、この関数のコードを書いてみましょう-
例
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) => { return 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));
出力
コンソールの出力は-
になります[ { text: 'secur' }, { text: 'users' }, { text: 'form' }, { text: 'user' } ] [ { text: 'secur' }, { text: 'users' }, { text: 'form' }, { text: 'user' }, { text: 'secu' }, { text: 'use' }, { text: 'sec' }, { text: 'for' } ]
-
複数の値でJavaScript配列の要素を見つける方法は?
以下は、JavaScript配列の要素を複数の値で検索するコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &nbs
-
JavaScript配列から文字列を解析する方法は?
以下は、JavaScript配列から文字列を解析するためのコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> &nbs