Javascript
 Computer >> コンピューター >  >> プログラミング >> Javascript

JavaScript配列のキーごとの最大値を取得します


このようなオブジェクトの配列があるとします-

const arr = [
   {a:1, b:"apples"},
   {a:3, b:"apples"},
   {a:4, b:"apples"},
   {a:1, b:"bananas"},
   {a:3, b:"bananas"},
   {a:5, b:"bananas"},
   {a:6, b:"bananas"},
   {a:3, b:"oranges"},
   {a:5, b:"oranges"},
   {a:6, b:"oranges"},
   {a:10, b:"oranges"}
];

そのような配列を1つ取り込んで、オブジェクトの配列を返すJavaScript関数を作成する必要があります。

配列には、「a」プロパティの値が最も高い「b」プロパティの一意の値ごとにオブジェクトが含まれている必要があります。

このためのコードは-

になります
const arr = [
   {a:1, b:"apples"},
   {a:3, b:"apples"},
   {a:4, b:"apples"},
   {a:1, b:"bananas"},
   {a:3, b:"bananas"},
   {a:5, b:"bananas"},
   {a:6, b:"bananas"},
   {a:3, b:"oranges"},
   {a:5, b:"oranges"},
   {a:6, b:"oranges"},
   {a:10, b:"oranges"}
];

const pickHighest = arr => {
   const res = [], map = {};

   arr.forEach(el => {
      if (!(el['b'] in map)) {
         map[el['b']] = res.push(el) - 1;
         return;
      };
      if(res[map[el['b']]]['a'] < el['a']){
         res[map[el['b']]] = el;
      };
   });
   return res;
};
console.log(pickHighest(arr));

以下はコンソールでの出力です-

[
   { a: 4, b: 'apples' },
   { a: 6, b: 'bananas' },
   { a: 10, b: 'oranges' }
]

  1. JavaScript-href値を取得

    URLが次のアンカータグがあるとします- <a class="demo" title="get the url" href="./mainPage.jsp/1245">href value at console</a> URL値、つまりhref属性値のみを取得する必要があります。これには、attr()-を使用します attr('href') 例 以下はコードです- <!DOCTYPE html> <html lang="en"> <head&

  2. Pythonの辞書で最大値のキーを取得する

    Pythonディクショナリには、キーと値のペアが含まれています。この記事では、指定されたPythonディクショナリで値が最大になる要素のキーを取得する方法を説明します。 最大で取得 get関数とmax関数を使用してキーを取得します。 例 dictA = {"Mon": 3, "Tue": 11, "Wed": 8} print("Given Dictionary:\n",dictA) # Using max and get MaxKey = max(dictA, key=dictA.get) print(&quo