如何将查找应用于 Javascript 中的数组?

How to apply lookup to array in Javascript?

如何将数组应用于 Javascript 中的查找字典?示例:

lookup = {"milk": 1, "water": 2, "soda": 3};
my_array = ["milk", "milk", "water", "milk", "soda"];

my_array.??? // This should give [1, 1, 2, 1, 3]

我试过 my_array.map(lookup),我得到了 #<Object> is not a function。与 .filter().apply() 和其他明显的候选人相同。

您需要 array.map() 但您必须指定一个函数来转换单个 my_array 元素:

let lookup = {"milk": 1, "water": 2, "soda": 3};
let my_array = ["milk", "milk", "water", "milk", "soda"];

let result = my_array.map(x => lookup[x]);
console.log(result);