面试题答案
一键面试假设使用的是JavaScript语言,以下是实现代码:
let orders = {
orderId: 1,
customer: {name: '李四', address: '北京路'},
items: [
{product: '电脑', quantity: 2, price: 5000},
{product: '鼠标', quantity: 3, price: 100}
]
};
orders.items.forEach((item, index) => {
orders.items[index].price = (item.quantity > 1 && item.price > 1000)? item.price * 1.1 : item.price;
});
console.log(orders);
条件操作符 (condition)? valueIfTrue : valueIfFalse
的作用:
- 首先计算
condition
表达式的值,如果为true
,则返回valueIfTrue
;如果为false
,则返回valueIfFalse
。 - 在上述代码中,
item.quantity > 1 && item.price > 1000
是条件判断部分,如果商品购买数量大于1且产品价格大于1000,就将该商品价格提高10%(item.price * 1.1
),否则保持原价(item.price
)。这样就实现了按条件更新商品价格的功能。