我遇到數組問題。合併並返回唯一陣列問題
我的要求: 我有一個對象說
data = {
192.168.2.1: ["alpha", "beta", "delta"],
192.168.2.2: ["alpha"],
192.168.2.3: ["delta"],
192.168.2.4: []
}
我要合併的所有值(陣列)組合成一個陣列,這樣我可以從用戶界面讀取。
所需的輸出:[α,β,δ]
當前實現:
var allControllerList = [];
var uniqueControllerList = [];
$.each(data, function(i, el){
allControllerList = allControllerList.concat(el);
});
$.each(allControllerList, function(index, el) {
if($.inArray(el, uniqueControllerList) === -1) uniqueControllerList.push(el);
});
如果我想讀它的UI,我需要再次做到這一點:
<select id='ssid-list' multiple='multiple'>
<% _.each(uniqueControllerList, function(ssid, index) { %>
<option value='<%=controllerIp+ssid%>'>
<%=ssid%>
</option>
<% }); %>
</select>
我在讀數組三次,我w作爲尋找更有效的實施。 (Underscore,jQuery或JS)。
感謝,
什麼是α,β,δ?對象還是原始類型? – acontell