我有兩個對象,汽車和卡車。每輛汽車和卡車都有一個號碼屬性。然而,每輛車可以有多輛卡車相關,但只有一輛卡車號碼也會與車號相符。找到一個類似的屬性,然後循環通過對象
例子:
car
{
number: 1054
}
truck
[{
number: 80,
type: "pickup",
},{
number: 1054,
type: "extended cab"
}, {
number: 50,
type: "flatbed"
}]
我想看看是否有跳過通過檢查,看看他們是否有一些共同的屬性,如果是這樣,那麼我想獲得具有嵌套循環的方式附屬於它的屬性。
目前我使用比以下稍複雜的代碼,但想法是用戶正在使用一輛汽車時,他們正在尋找相關的卡車,所以下面的第一個循環是簡化,但想法是相同的。
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。
你會說,創建HashMap和然後運行forEach更有效率(更少資源密集型)比Marcin提供的lodash代碼? –
@Smithyyy先生,從長遠來看,是的,因爲用鍵查找對象比查找要快,而查找始終從卡車陣列的開始處開始迭代。 –
感謝您的性能解釋並提供您的答案片段! –