如何改造以下场景 if-else 的代码?

2017-05-30 21:05:32 +08:00
 EXDestroyer

有一批物品数据,每个物品都有 id 字段,同时可能有 config 字段(如果没有这个字段则跳过忽略),用户每次会添加不同的物品 现在需要在用户添加的物品列表中,取出权重最高的那个 config 字段,并最后返回,其中: id 为 1、3 的物品权重最,2、4 次之,5、7 最低。。以此类推,可能还会有还有很多其他的 id

现在我个人的做法是,循环遍历

var config = null;

for (var item of items){
if (item['id'] === 1 || item['id'] === 3){
	config = config ? (item['config']?item['config']:null) : null
}else if (item['id'] === 2 || item['id'] === 4){
	config = config ? (item['config']?item['config']:null) : null
}...
}

但是这样太蠢。。有什么更好的模式可以取代这种操作吗,或者这种场景应该如何处理

4505 次点击
所在节点    JavaScript
22 条回复
HsuanLee
2017-05-31 23:33:11 +08:00
HsuanLee
2017-05-31 23:36:56 +08:00
哦,题主说的优化 if-else,我这个没用 if-else 算不算优化?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/364775

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX