正在从元素可能不同的数组中删除重复的元素
Removing duplicate elements from array whose elements can vary
我知道以前也有人问过类似的问题,但我尝试了每一个答案,但都没有成功。每次点击buttons
和class ognjen
时,我都会创建我的array
。看起来是这样的:
<button type="button" name="10208823390691752,1317727711586522" value="All contacts" class="btn btn-default ognjen">All contacts</button>
<button type="button" name="10207252567926988,1294280923934896" value="Men" class="btn btn-default ognjen">Men</button>
<button type="button" name="10208823390691752,10207252567926988" value="Women" class="btn btn-default ognjen">Women</button>
<button type="button" name="1317727711586522,1294280923934896" value="Segment 1" class="btn btn-default ognjen">Segment 1</button>
这就是我如何设法用所有点击元素的值制作一个数组的方法:
$(document).ready(function() {
var clickedButtons = new Array();
var numUsers= new Array();
$('button.ognjen').click(function() {
var index = clickedButtons.indexOf(this.value);
if (index === -1){
clickedButtons.push(this.value);
numUsers.push(this.name);//value not found so push it
}else {
clickedButtons.splice(index, 1);
numUsers.splice(this.name);// value found so remove it
}
var tryIt=numUsers.join();
var picker=tryIt.split(', ');
console.log(picker);
});
因此,在点击某些按钮后,picker
现在是一个可能看起来像这样的数组:
["10207252567926988,1294280923934896,10208823390691752,1317727711586522,1294280923934896"]
现在,我想从这个数组中删除所有重复的元素。从这些问题中尝试答案:
- 如何从数组中删除重复项-javascript
- 在JavaScript数组中查找重复值的最简单方法
- 使用JavaScript从数组中删除重复元素
- 从JavaScript数组中删除重复项
他们都不起作用。我认为这可能是由于制作这个piker
阵列的动力。请帮帮我,我整天都在为这个问题而挣扎。
我认为更简单的方法是存储每个按钮的点击状态,然后像一样每次重新创建数组
$(document).ready(function() {
var clickedButtons = new Array();
var numUsers = new Array();
var $btns = $('button.ognjen').click(function() {
$(this).toggleClass('selected');
clickedButtons = new Array();
$btns.filter('.selected').each(function() {
var values = this.value.split(',');
values.forEach(function(value) {
var index = clickedButtons.indexOf(value);
if (index === -1) {
clickedButtons.push(value);
}
});
});
console.log(clickedButtons)
snippet.log(clickedButtons.join() || 'NONE');
});
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<!-- Provides the `snippet` object, see http://meta.stackexchange.com/a/242144/134069 -->
<script src="http://tjcrowder.github.io/simple-snippets-console/snippet.js"></script>
<button type="button" value="10208823390691752,1317727711586522" class="btn btn-default ognjen">All contacts</button>
<button type="button" value="10207252567926988,1294280923934896" class="btn btn-default ognjen">Men</button>
<button type="button" value="10208823390691752,10207252567926988" class="btn btn-default ognjen">Women</button>
<button type="button" value="1317727711586522,1294280923934896" class="btn btn-default ognjen">Segment So
相关文章:
- 在函数中添加数组元素的数值
- 访问JSON对象内部的数组元素
- 用于检查数组中是否存在元素的javascript自定义方法
- 在数组中的一个元素上设置多个值
- 从组件状态的数组中删除元素
- Mongoose-在更新中删除数组元素
- 从数组中删除元素的最佳方法是:javascript/jquery
- 数组中元素(字符串)的总和
- javascript数组元素是否知道其封闭数组
- 查找数组javascript中包含的元素类型
- 如何在javascript上向数组的对象添加新元素
- 如果数组仍在执行,async.forEach()将运行我添加到数组中的新元素
- 使用filter和map方法将数组中某些元素的第一个字母大写-JavaScript
- 一些元素没有从数组中删除
- JS.循环遍历多维数组,以计数元素在每列中的出现次数
- 将数组元素附加到FormData dos'不适用于Firefox 15
- 元素不会添加到Javascript数组中
- 如何从另一个带下划线的数组中筛选带元素的数组
- 如何将函数应用于两个数组的第 n 个元素(数组的数组)
- Js接受两个值之间的元素(数组)