javascript - 如果我有三个相同的值,则在不知道值的情况下签入数组
问题描述
我有一个随机数数组,从 1 到 6。我怎么知道这个数组中是否有两个、三个或四个相同的数字?那个数字是多少?或者,如果我有两个数字,它们会出现两次?
array = [1, 3, 5, 5, 6];
x = array[0];
repetitions = 0;
for (let i = 0; i < 5; i++) {
const y = array[i];
if (x === y) {
repetitions++;
}
}
我应该为数组的每个元素做这样的事情吗?
谢谢!
解决方案
这是一个可以使用过滤器提供的简单解决方案;
var array = [1,2, 3,4,4,4,4,4,4,4, 5, 5, 6,6,6];
var duplicate = [];
var newArray = array.filter((v, i) =>{
if(array.indexOf(v) == i){
return v
}else{
duplicate.indexOf(v) == -1 ? duplicate.push(v):'';
}
})
console.log(`new array ${newArray}`);
console.log(`Duplicate values array ${duplicate}`);
推荐阅读
- java - 如何让这个程序接受 n 个测试用例?
- mysql - 无法使用 PHPMyAdmin 导入数据库
- html - 有没有办法为自动换行设置断点?
- javascript - 每次加载时按内容设置 iframe 高度
- c# - 使用接口继承进行强制转换
- angular - Angular 7 - 如何在某些响应状态代码上重试 http 请求?
- sql - 在 SQL Postgres 中迭代 group by
- c# - 我可以在普通 VM 上部署我的 Azure 功能吗?
- python - Keras 模型检查点保存期间出错:'OSError:无法创建文件。没有权限'
- angular - android设备上的iframe全屏问题