我试图尽可能有效地使用 CoffeeScript 理解。我想我有基本的映射——将一个列表变成另一个列表——但搜索对我来说似乎仍然很冗长。
假设我有一张商店商品地图:
shopMap:
toyStore: ["games", "puzzles"]
bookStore: ["novels", "picture books"]
并且,给定一个项目,我想知道它在哪家商店。在 CoffeeScript 中最好的方法是什么?
以下是我在 JavaScript 中可以做的事情:
var shop = findShop(item);
function findShop(item) {
for (shop in shopMap)
itemList = shopMap[shop]
for (i = 0, ii = itemList.length; i<ii; i++) {
if (itemList[i] === item) {
return shop;
}
}
}
}
我使用了一个函数来让它通过 return 语句快速跳出循环,而不是使用中断,但是这个函数有点丑陋,因为它只被使用一次。
那么是否有更短的 CS 等效项,最好是不需要创建新函数的等效项?