在字典

时间:2016-10-05 16:32:42

标签: swift dictionary swift3

我正在实现一些逻辑来获得最接近的Beacon并且为此我创建了一个Dictionary,其中我插入了一些Measures。我的问题是我不知道如何获得具有最大价值的物品。下面是一些代码:

struct objBeacon {
    var accuracy : Float
    var rssi : Float
    var positionInList : Float
}

var readBeacons = [String:objBeacon]()

我的目标是获取具有最大rssi值的项目(objBeacon),如何在不循环列表的情况下执行此操作?

2 个答案:

答案 0 :(得分:3)

最简单的方法是

max-width

希望这有帮助

答案 1 :(得分:2)

  

我的目标是获取具有最大rssi值的项目(objBeacon),如何在不循环列表的情况下执行此操作?

如果没有循环遍历列表,你就无法做到这一点"。你拥有的是一个列表,并检查一个元素相对于所有其他元素意味着循环。您可能不必明确地编写循环 - 例如,您可以调用public void doPost(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException { response.setContentType("text/html"); PrintWriter pw = response.getWriter(); String emp = request.getParameter("emp") != null ? request.getParameter("emp") : ""; MCenter mCenter = new MCenter(); mCenter = mCenterDAO.getMCenterPocByEmp(emp); mCenter = mCenterDAO.getMCenterByObject(mCenter); String mPocName = mCenter.getMCenterPocName(); String mCenter = mCenter.getMCenterName(); if (mPocName == null || mCenter == null) { String json = "error"; } else { String json = getMCenterPoc(emp); } pw.print(json); pw.close(); } 方法,这样您就可以为max(by:)做同样的事情{{1}不管怎样 - 但是会有一个循环。