4 回答

TA貢獻1853條經驗 獲得超9個贊
只需刪除變量并返回匹配。
function priceLookup (items, name) {
for (let i = 0; i < items.length; i++) {
if (name === items[i].itemName) return items[i].price;
}
}

TA貢獻1776條經驗 獲得超12個贊
function priceLookup (items, search) {
let priceOfItem = [];
for (let i = 0; i < items.length; i++)
if (search === items[i].itemName)
{priceOfItem.push(items[i].price);}
return priceOfItem[0];
}
對于這個函數,創建一個空數組來保存新的返回值對我來說更有意義。由于我們只想返回第一個匹配項,因此返回數組中的第一個值是有意義的。通過返回 priceOfItem[0],如果有多個值滿足 if 條件,它會返回數組中的第一個值。

TA貢獻1868條經驗 獲得超4個贊
您需要重寫您的函數以在第一次匹配時停止,因為您可以使用 'break' 關鍵字,如下所示:
function priceLookup (items, name){
let priceOfItem = undefined;
for (let i = 0; i < items.length; i++) {
if (name === items[i].itemName) {
priceOfItem = items[i].price;
break;
}
}
return priceOfItem;
}
添加回答
舉報