HTML/Html-Javascript/37-数组去重.html

206 lines
5.9 KiB
HTML
Raw Normal View History

2023-05-01 19:37:40 +08:00
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<script>
// // 将如下数组去重
// let arr = [3, 1, 2, 3, 2, 3, 4, 5, 6, 7, 8, 1, 2, 3, '1', '2', '3', 77, 9];
// // 只能使用循环 函数 流程控制 等手段
// // 去重
// function qc(arr) {
// let o = [];
// for (let i = 0; i < arr.length; i++) {
// const element = arr[i];
// if (!o.includes(element)) {
// o.push(element);
// }
// }
// return o;
// }
// // console.log(qc(arr));
let arr = [1, 9, 3, 4, 5, 8, 2, 6, 7];
// // 排序
function paixu(arr) {
let o = JSON.parse(JSON.stringify(arr));
for (let i = 0; i < arr.length; i++) {
for (let j = 0; j < arr.length - i; j++) {
let el0 = o[j];
let el1 = o[j + 1];
// 当前项 大于 当前前项
if (el0 > el1) {
// 我就将 当前项 与当前前项 互换位置
let cy = o[j + 1];
o[j + 1] = o[j];
o[j] = cy;
}
}
}
return o;
}
console.log(paixu(arr));
// console.log("请" > "啊");
// console.log("请".charCodeAt(0));
// console.log("啊".charCodeAt(0));
// function qufan(str) {
// // solit("") 字符串 用特定的 字符分割成数组
// // join("") 数组 用特定的 字符 进行 组合成一个数组
// let arr = str.split("");
// // console.log(arr);
// let o = [];
// for (let i = 0; i < arr.length; i++) {
// o.push(arr[arr.length - i - 1]);
// }
// return o.join("");
// }
// console.log(qufan("你爱我呀我爱你呀"));
// 数据 的key 是数据的key
// 而我们要导入 excel 的是 excel 的key
// 我有一个数据
// 我不动它的格式 我要改它的key
// let o = [{
// key1: "value1",
// key2: "value2",
// key3: "value3",
// key4: "value4",
// key5: "value5",
// key6: "value6",
// key7: "value7",
// key8: "value8",
// key9: "value9",
// }, {
// key1: "value1",
// key2: "value2",
// key3: "value3",
// key4: "value4",
// key5: "value5",
// key6: "value6",
// key7: "value7",
// key8: "value8",
// key9: "value9",
// }, {
// key1: "value1",
// key2: "value2",
// key3: "value3",
// key4: "value4",
// key5: "value5",
// key6: "value6",
// key7: "value7",
// key8: "value8",
// key9: "value9",
// }];
// // 我要将数据改成类下
// // let o1 = [
// // {
// // Mykey1: "value1",
// // Mykey2: "value2",
// // }
// // ]
// // 01- 要定义一个改值规则
// let xbjdy = {
// key1: "Mykey1",
// key2: "Mykey2",
// key3: "Mykey3",
// key4: "Mykey4",
// key5: "Mykey5",
// key6: "Mykey6",
// key7: "Mykey7",
// key8: "Mykey8",
// key9: "Mykey9",
// }
// // 02- 改key
// function gaiKey(arr, obj) {
// // 对复杂数据类型进行 修改等操作时 建议 克隆
// arr = JSON.parse(JSON.stringify(arr));
// // 修改 数据的容器
// let orr = [];
// for (let i = 0; i < arr.length; i++) {
// // 要被修改的对象
// const element = arr[i];
// // 循环对象
// for (const key in element) {
// // 当前项 规则 按规则添加新key
// arr[i][obj[key]] = element[key]; // 改key
// delete element[key]; // 删除原有key数据
// orr.push(element);
// }
// }
// return orr;
// }
// console.log(gaiKey(o, xbjdy));
// let arr = [
// {
// name: "张三",
// xxx: "xxx"
// },
// {
// name: "张4",
// xxx: "xxx"
// },
// {
// name: "张三",
// xxx: "xxx"
// },
// {
// name: "张5",
// xxx: "xxx"
// },
// {
// name: "张6",
// xxx: "xxx"
// },
// {
// name: "张5",
// xxx: "xxx"
// },
// ]
// // 复杂数据类型去重
// function quc(arr) {
// let o = [];
// for (let i = 0; i < arr.length; i++) {
// const eleI = arr[i];
// // 匹配条件的下标 没有匹配上 就是 -1 匹配上了就不是 -1
// let oi = o.findIndex((ite) => {
// return ite.name == eleI.name;
// });
// if (oi == -1) {
// o.push(eleI);
// }
// }
// return o;
// }
// console.log(quc(arr));
</script>
</body>
</html>