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;
}
添加回答
举报