我需要一些帮助。我想将12,12,12,13,13,14,14,14,15,15这样的东西合并到12,13,14,15中。到目前为止我有这个代码。
if ($('#branchName' + branchList.branch).length == 0) {
$('#zzz').append(
'<span>' + branchList.branch + '</span>' +
'<ul id="branchName' + branchList.branch + '">' +
'<li>' +
'<span id="combo' + branchList.combo + '">' + branchList.combo + '</span>' +
'</li>' +
'</ul>');
if ($('#combo' + branchList.combo).length == 0) {
//if exists go to else
} else {
//append combo
}
}
else {
$('#branchName' + branchList.branch).append(
'<li>' +
'<span id="combo' + branchList.combo + '">' + branchList.combo + '</span>' +
'</li>');
}
更新:我已将我的if上的数字合并到现有的数字上。现在我的问题是我应该在哪里再次放入我的组合的下一个if语句。
答案 0 :(得分:2)
尝试过滤器属性。 假设您在数组中有这些值
arr=[1,1,1,2,3,4,5];
new_arr = arr.filter(function(item, pos) {
return arr.indexOf(item) === pos;
});
filter,接受一个回调函数,并在数组的每个元素上调用它,如.map,最多取三个参数,元素的值(来自你的数组),索引和数组本身。
这背后的想法是,你拿一个元素然后检查indexOf(that_element)是否等于元素的位置。
<强>漫游。强>
步骤1:indexOf(1)= 0且pos = 0,indexOf(1)=== pos // true所以元素被推入new_arr 第2步:indexOf(1)= 0且pos = 1,//条件为false,因此丢弃。
等......
这种允许和丢弃的属性可能来自于鸭子打字
答案 1 :(得分:0)
您可以导入库Underscore
在Underscore中,有一个简单的功能:
_.union([1, 2, 3], [101, 2, 1, 10], [2, 1]);
=> [1, 2, 3, 101, 10]