有一个对象可以保存杂货店的商品和价格:
let groceryStore = {
'Banana' : .25,
'Apple' : .30,
'Lettuce' : 1.20,
'Onion' : .15,
'Celery' : 1.15,
'Garlic' : 1.00,
'Tomato' : .50
}
您有一系列键:
let groceryList = ['Tomato', 'Lettuce', 'Garlic', 'Onion']
我现在需要找到数组(groceryList)中键的所有值的总和。
答案 0 :(得分:2)
要获取一个数组并将其减少为另一个值,通常可以使用适当命名的Array.reduce()
。通常,对一个数字数组求和,可以减少该数组,然后将每个数字加到累加器中(在示例中为sum
)
arrayOfNumbers.reduce((sum, num) => sum + num, 0)
以您为例,减少键的数组,并使用key
从对象中获取值:
const groceryStore = {
'Banana': .25,
'Apple': .30,
'Lettuce': 1.20,
'Onion': .15,
'Celery': 1.15,
'Garlic': 1.00,
'Tomato': .50
}
const groceryList = ['Tomato', 'Lettuce', 'Garlic', 'Onion']
const result = groceryList.reduce((sum, key) => sum + groceryStore[key], 0)
console.log(result)