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

これらの2つの配列を連結せずにこれを解決して、より高い値のオブジェクトを取得する方法はありますか?


特定のプロパティを持つオブジェクトを取得するには、両方の配列で個別にreduce()の概念を使用します。連結する必要はありません。次のオブジェクトに生徒の名前と生徒のマークが付いているとします

var sectionAStudentDetails =
[
   {studentName: 'John', studentMarks: 78},
   {studentName: 'David', studentMarks: 65},
   {studentName: 'Bob', studentMarks: 98}
];
let sectionBStudentDetails =
[
   {studentName: 'John', studentMarks: 67},
   {studentName: 'David', studentMarks: 89},
   {studentName: 'Bob', studentMarks: 97}
];

以下は、両方にreduce()を実装し、より高い値(マーク)を持つオブジェクトをフェッチするためのコードです-

var sectionAStudentDetails =
[
   {studentName: 'John', studentMarks: 78},
   {studentName: 'David', studentMarks: 65},
   {studentName: 'Bob', studentMarks: 98}
];
let sectionBStudentDetails =
[
   {studentName: 'John', studentMarks: 67},
   {studentName: 'David', studentMarks: 89},
   {studentName: 'Bob', studentMarks: 97}
];
function concatTwoArraysWithoutConcatFunction(arrayValues, k) {
   const previousValue = arrayValues[k.studentName];
   if (!previousValue || k.studentMarks >= previousValue.studentMarks)
      arrayValues[k.studentName] = k;
      return arrayValues;
}
const setionA =
sectionAStudentDetails.reduce(concatTwoArraysWithoutConcatFunction, {});
const sectionB = sectionBStudentDetails.reduce(concatTwoArraysWithoutConcatFunction, setionA);
console.log(Object.values(sectionB));

上記のプログラムを実行するには、次のコマンドを使用する必要があります-

node fileName.js.

ここで、私のファイル名はdemo84.jsです。

出力

これにより、次の出力が生成されます-

PS C:\Users\Amit\JavaScript-code> node demo84.js
[
   { studentName: 'John', studentMarks: 78 },
   { studentName: 'David', studentMarks: 89 },
   { studentName: 'Bob', studentMarks: 98 }
]

  1. JavaScriptのXMLデータから属性の値を取得しますか?

    XMLデータから任意の属性の値を取得するには、JavaScriptでattr()を使用します。以下はコードです- 例 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initialscale=1.0"> <title>Document</title> &l

  2. これらのアプリを使用してカメラでオブジェクトを識別

    カメラ付きのスマートフォンは、写真をクリックするための従来のコンポーネントではなくなりました。 AR ステッカーを使って画像を面白くするなど、もっと魅力的なことを行うために使用されます .カメラを使用して顔を認識し、ジェスチャーで写真をクリックすることができます。同様に、スマートフォンのカメラでオブジェクトを識別できるようになりました。これは、カメラでクリックした被写体に関する情報を見つけるのに役立つ便利なテクニックの 1 つです。カメラでオブジェクトを識別するアプリについて説明しましょう: Google レンズ Google レンズは、この技術をサポートするすべての Android デバイ