一个函数,用于比较数组中是否存在重复的数字
A function that compare if there is duplicate numbers in a array
我正在尝试创建一个函数来比较数组中的重复数字,如果有重复的数字,我会在数组中返回这些数字。
这就是我所做的,但我正在挣扎。
function solution(array) {
var a = [];
for(var i = 0; i < array.length; i++) {
if (array[i] === 1) {
a.push(array[i]);
}
}
return a;
}
alert(solution([1, 2, 3, 4, 5, 1]));
solution([2, 1, 1, 2, 2]); //Should return [1, 2, 2]. Because 2, 1 are original documents and 1, 2, 2 - are copies
> indexOf
返回元素第一次出现的索引。 filter
将函数应用于数组的每个元素一次,并返回函数返回 true
的所有元素的新数组。
function solution(array) {
return array.filter(function(value, index) {
return array.indexOf(value) < index;
});
}
您有两个数组:一个包含原始数字,另一个包含结果,您可以在其中收集重复的数字。
您正在循环访问原始数组。这是一个良好的开端。
数组[i] 是原始数组的当前编号。
你怎么知道它是否已经发生过,因此是重复的? 这是你必须弄清楚的算法的下一步。
您可能需要另一个循环或另一个数组,并且可能需要某个地方的 IF。
openorclose的答案的稍快版本:
function solution(array) {
return array.filter(function(value, index) {
return array.indexOf(value, index + 1) > -1;
});
}
相关文章:
- 用于检查数组中是否存在元素的javascript自定义方法
- 是否存在React Native“;WEB代码安全防护”;
- 验证会话中是否存在对象's数组
- 如何查找值是否存在于二叉树中
- 检查是否存在使用chrome扩展的javascript库
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- 测试mongo脚本中是否存在参数
- 检查搜索结果是否存在多次如果是,则在Javascript中只显示一个结果
- 使用js/jQuery检查对象(而不是元素)是否真的存在
- 检查数组中是否存在字符串值,并返回找到的数组值js
- 如何通过json对象选项卡中的Id来检查对象是否存在
- 检查是否存在任意控制器/操作
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- Javascript滑块不滑动,如何判断是否存在JS冲突
- 根据手机上是否存在文件,在jQuery mobile中动态填充列表视图
- javascript测试是否存在两个标志中的任何一个
- 如何使用javascript检查移动sd卡中是否存在文件
- 当提供函数名称时,检查函数是否存在于同一作用域中
- 需要帮助使用JQuery.inArray()检查值是否存在
- 在运行Javascript/jQuery中的函数之前,检查元素是否存在是否更具性能