この記事では、JavaScriptを使用して配列を処理し、同じIDを持つオブジェクトを新しいオブジェクトにマージし、異なるタイプ(朝食、中国語、夕食)に応じて異なるフィールドに量を割り当てる方法について説明します。
それぞれがid
、 jine
(量)、およびtype
(タイプ)フィールドを持つ複数のオブジェクトの配列があるとします。目標は、これらのデータを別の形式に変換することです。各id
に対応するデータが1つのtype
にマージされ、 jine
値はjine1
(朝食)、 jine2
(中国料理)、およびjine3
(ディナー)フィールドに割り当てられます。
生データ:
const list = [ {id: "202301"、jine:23、type: "ディナー"}、 {id: "202301"、jine:87.5、type: "Breakfast"}、 {id: "202301"、jine:1065.5、タイプ: "中国料理"}、 {id: "202302"、jine:10、type: "ディナー"}、 {id: "202302"、jine:181.5、type: "Breakfast"}、 {id: "202302"、jine:633.5、タイプ: "中華料理"} ];
ターゲット形式:
const expectslist = [ {id: "202301"、jine1:87.5、jine2:1065.5、jine3:23}、 {id: "202302"、jine1:181.5、jine2:633.5、jine3:10} ];
これを達成するために、 reduce
メソッドを使用して配列を反復し、結果を保存する新しいオブジェクトを作成できます。
解決:
const result = object.values(list.reduce((acc、curr)=> { if(!acc [curr.id]){ acc [curr.id] = {id:curr.id、jine1:0、jine2:0、jine3:0}; } if(curr.type === 'Breakfast')acc [curr.id] .jine1 = curr.jine; if(curr.type === 'chinese food')acc [curr.id] .jine2 = curr.jine; if(curr.type === 'dinner')acc [curr.id] .jine3 = curr.jine; ACCを返します。 }、{})); console.log(result); //ターゲット形式の出力配列
このコードは、最初にreduce
メソッドを使用して元の配列をオブジェクトに変換します。キーはid
で、値はjine1
、 jine2
、およびjine3
を含むオブジェクトです。次に、 Object.values
メソッドを使用して、オブジェクトを配列に変換します。 reduce
メソッドでは、現在のid
がacc
に存在するかどうかを確認します。存在しない場合は、新しいオブジェクトを作成し、 type
に応じて対応するフィールドにjine
値を割り当てます。
この方法は、 Object.groupBy
の使用を回避し、メソッドfind
、コードの読みやすさと効率を改善し、データのマージと量の割り当てをより直接処理します。また、 find
メソッドがundefined
返される場合がある場合に対処する必要がないため、より堅牢です。
以上がタイプごとに同じIDで配列オブジェクトをマージし、JavaScriptを使用して金額を割り当てる方法は?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

mPDF
mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

DVWA
Damn Vulnerable Web App (DVWA) は、非常に脆弱な PHP/MySQL Web アプリケーションです。その主な目的は、セキュリティ専門家が法的環境でスキルとツールをテストするのに役立ち、Web 開発者が Web アプリケーションを保護するプロセスをより深く理解できるようにし、教師/生徒が教室環境で Web アプリケーションを教え/学習できるようにすることです。安全。 DVWA の目標は、シンプルでわかりやすいインターフェイスを通じて、さまざまな難易度で最も一般的な Web 脆弱性のいくつかを実践することです。このソフトウェアは、
