概述
数组去重
// 数组去重
//第一种
let arrOld = [2, 3, 5, 4, 3, 2, 6, 8, 5, 4, 6, 2];
let flag = true;//新数组中没有相同的元素
// 1、建立新数组
let arrNew = [];
// 2、遍历旧数组
for (let i = 0; i < arrOld.length; i++) {
flag = true;
// 4、往新数组中放置旧数组的元素
// 5、遍历新数组
for (let j = 0; j < arrNew.length; j++) {
if (arrNew[j] == arrOld[i]) {
// 新数组中有相同的元素变成false
flag = false;
}
}
// 3、判断如果新数组中有相同的元素,就不往新数组中放了
if (flag) {
arrNew.push(arrOld[i])// [2, 3, 5, 4, 6, 8]
}
}
console.log(arrNew);
// 第二种
var arr = [100, 20, 30, 50, 30, 100, 20, 50];//[100,20,30,50]
// 1、创建新数组
var arrNew = [];
// 2、创建新对象
var objNew = {};
// 3、遍历旧数组
for (let i = 0; i < arr.length; i++) {
console.log(arr[i]);//100, 20, 30, 50, 30, 100, 20, 50
// 4、将旧数组中的元素当做新对象的属性名(属性名不能重复),属性值随意写
objNew[arr[i]] = "优秀";
}
console.log(objNew);
// 5、遍历新对象的属性
for ( let x in objNew) {// for... in ..以任意顺序迭代一个对象的除Symbol以外的可枚举属性,包括继承的可枚举属性。属性名就//100,20,30,50
console.log(x);//打印属性:100,20,30,50
// 6、将新对象中的属性当做新数组的元素即可,用push方法添加Number方法转变数据类型
arrNew.push(Number(x));
}
//第三种
//利用set结构成员值唯一的特点
let arr = [100, 20, 30, 50, 30, 100, 20, 50];
let arrSet = new Set(arr);//[100,20,30,50]
生成6位随机数
// 声明两个变量
var str = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ';
console.log(str.length);
var vc2 = '';
// for循环获取6位随机数
for (let i = 0; i <= 5; i++) {
// 下标取整赋值
let num = parseInt(Math.random() * str.length);
//Math.random()获取0~1之间的浮点数 参考mdn文档
// 在 vc2 变量 中 没有字符 str[num]
if (vc2.indexOf(str[num]) == -1) {
//indexOf方法返回在数组中可以找到一个给定元素的第一个索引,如果不存在,则返回-1
// 如果字符不重复,就写入到验证码中
vc2 += str[num];
} else {
i--;
// 如果字符重复,没有写入验证码
// 就执行 i-- 重新执行一次循环,获取一个新的字符
// 确保是6位字符
}
}
console.log(vc2);
最后
以上就是默默鞋子为你收集整理的随机数及数组去重的全部内容,希望文章能够帮你解决随机数及数组去重所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复