选择如果数组元素重复两次——Javascript
Choose if array element repeats itself twice -- Javascript
有一个javascript数组
var arr = [0, 1, 2, 2, 3, 3, 5];
我想选择重复两次的元素。这里是2
和3
。我想把它们附加到一个变量中
var a = 2, b = 3;
据我所知,没有内置的功能来做这项工作。我怎么能那样做呢?谢谢。
您可以使用filter
来获取出现两次的值。
var arr = [0, 1, 2, 2, 3, 3, 5];
var dups = arr.filter ( (v,i,a) => a.indexOf(v) < i );
console.log(dups);
在注释中,你说你只会有双精度,但没有值出现超过两次。注意,如果出现后一种情况,上面的方法将返回一个值不止一次。
返回数组中的值,这就是您应该如何工作的。将它们放在不同的值中可以这样做:
var [a, b, ...others] = dups;
…但是您必须知道要为此保留多少变量,这不会使您的进一步程序变得更容易。JavaScript有很多很好的数组函数(方法),所以你应该把它们留在数组中。
确实没有内置函数可以这样做。
在构建响应数组时,必须循环遍历数组并跟踪元素出现的次数。
您可以筛选排序数组
var arr = [0, 1, 2, 2, 3, 3, 5],
repeats = arr.filter(function (a, i, aa) {
return aa[i - 1] === a;
});
console.log(repeats);
最简单的方法如下:
var dups = [];
var arr = [0, 1, 2, 2, 3, 3, 5];
arr.forEach(function (v, i, a){
delete arr[i];
if (arr.indexOf(v) !== -1){
dups.push(v);
}
});
console.log(dups);
相关文章:
- 由于$compile,Javascript(Angular)嵌套指令加载了两次
- Javascript onclick需要点击两次,然后会创建越来越多的服务器请求
- JavaScript onclick在IE 9中工作两次,然后停止
- JavaScript倒计时计时器不会显示两次
- 在 Javascript 中拆分包含单次出现(不是两次)分隔符的字符串
- Primefaces:RequestContext.execute-调用了两次Javascript
- 地图,rails 4.2,javascript,鼠标悬停,只工作一次(或两次).然后在重新加载之后
- javascript_include_tag :应用程序在开发环境中加载 JavaScript 两次
- 使用PHP在IE上发出两次javascript警报
- 有没有办法阻止脚本加载两次?JavaScript
- 不可能在一个页面中使用两次JavaScript
- 无法在一个页面上运行两次JavaScript函数(在WordPress循环内)/JavaScript函数获胜'不
- 在一个文档中使用两次javascript文档就绪
- 一次回车键按下会运行两次JavaScript键按下事件处理程序代码
- 事件处理程序调用两次(javascript)
- 使用两次Javascript代码
- 在Developer's控制台中运行两次Javascript
- 选择如果数组元素重复两次——Javascript
- jQuery.当list中有三个对象时,每个遍历list两次.Javascript
- 调用同一个函数两次- JavaScript