<html>
<head>数组去重</head>
<body>
<button onclick="my()">点击</button>
</body>
<script>
//1.console.log(["1", "2", "3"].map(parseInt));
//2.数组去重
function my() {
let arr = [1, 2, 2, 2, 3, 4, 5, 6, 6, 'q', 'w', 'q', 9, 12, 1];
//===方法1:es6set去重===
// let unique_array = Array.from(new Set(arr)); // 利用Array.from将Set结构转换成数组
// console.log(unique_array);
//===方法2:定义一个新数组,并存放原数组的第一个元素,然后将元素组一一和新数组的元素对比===
// let newArr = [arr[0]];
// for (let i = 1; i < arr.length; i++) {
// let repeat = false;
// for (let j = 0; j < newArr.length; j++) {
// if (arr[i] === newArr[j]) {
// repeat = true;
// break;
// }else{
//
// }
// }
// if (!repeat) {
// newArr.push(arr[i]);
// }
// }
// console.log(newArr);
//===方法3:先将原数组排序,在与相邻的进行比较,如果不同则存入新数组。===
// let formArr = arr.sort()
// console.log(formArr);
// let newArr=[formArr[0]]
// for (let i = 1; i < formArr.length; i++) {
// if (formArr[i]!==formArr[i-1]) {
// newArr.push(formArr[i])
// }
// }
// console.log(newArr);
//===方法4:利用对象属性存在的特性,如果没有该属性则存入新数组===
// let obj={}
// let newArr=[]
// for (let i = 0; i < arr.length; i++) {
// if (!obj[arr[i]]) {
// console.log(obj[arr[i]]);
//
// obj[arr[i]] = 1
// newArr.push(arr[i])
// }
// }
// console.log(newArr);
//===方法5: 利用数组的indexOf下标属性来查询===
// let newArr = []
// for (let i = 0; i < arr.length; i++) {
// if (newArr.indexOf(arr[i])===-1) {
// newArr.push(arr[i])
// }
// }
// console.log(newArr);
//===方法6: 利用数组原型对象上的includes方法===
// let newArr = []
// for (let i = 0; i < arr.length; i++) {
// if (!newArr.includes(arr[i])) {
// newArr.push(arr[i])
// }
// }
// console.log(newArr);
//===方法7: 利用数组原型对象上的 filter 和 includes方法。===
// let newArr = []
// newArr = arr.filter( item=> {
// return newArr.includes(item) ? '' : newArr.push(item)
// })
// console.log(newArr);
//===方法8: 利用数组原型对象上的 forEach 和 includes方法。===
// let newArr = []
// arr.forEach( item=> {
// return newArr.includes(item) ? '' : newArr.push(item)
// })
// console.log(newArr);
//===方法9: 利用数组原型对象上的 splice 方法;
// let i,j,len = arr.length;
// for (i = 0; i < len; i++) {
// for (j = i + 1; j < len; j++) {
// if (arr[i] == arr[j]) {
// arr.splice(j, 1);
// len--;
// j--;
// }
// }
// }
// console.log(arr);
let obj={a:1}
console.log(Object.assign({},obj))
console.log(Object.assign({},obj)===obj)
console.log(JSON.parse(JSON.stringify(obj)))
console.log(JSON.parse(JSON.stringify(obj))===obj)
}
</script>
</html>