我遇到数组问题。合并并返回唯一阵列问题
我的要求: 我有一个对象说
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