私は車とトラックの2つのオブジェクトを持っています。それぞれの車とトラックには番号のプロパティが付いています。ただし、各車には複数のトラックが関連付けられていますが、1つのトラック番号だけが車の番号と一致します。同様のプロパティを探してオブジェクトをループする
例:
car
{
number: 1054
}
truck
[{
number: 80,
type: "pickup",
},{
number: 1054,
type: "extended cab"
}, {
number: 50,
type: "flatbed"
}]
は、私は、彼らが数プロパティを共有し、その場合は、その後、私が取得したいかどうかをチェックすることで、ネストされたループを持つスキップする方法があるかどうかを確認したいと思いますそれに付随するプロパティ。
現在、私は以下より少し複雑なコードを使用していますが、ユーザーは関連するトラックを探しているときにすでに1台の車で作業しているため、下の最初のループは単純ですが、アイデアは同じです。
for (let i = 0; i < cars.length; i++) {
car1 = cars[0].number;
for (let j = 0; j < trucks.length; j++) {
if (car1 === trucks[j].number) {
console.log('Found matching truck');
}
}
}
私はこれより少なく課税方法があるかどうか、これは私がに固執するべきであるかどうかを知りたいです。
私はプレーンなjavascriptまたはlodashを使用しています。
は、あなたが言うだろうとハッシュマップを作成し、 forEachを実行する方が効率的です(少ないリソース集約)を提供していますか? –
@ Mr.Smithyyy、長い間、キー付きのオブジェクトのルックアップはfindより速いので、トラック配列の先頭から常に反復を開始します。 –
パフォーマンスの説明をお寄せいただきありがとうございます。 –