数组去重的实现:
可以使用 Set 数据结构进行数组去重,因为 Set 对象只存储唯一的值。
let arr = [1, 1, 2, 2, 3, 3]; // 需要去重的数组
let arrUnique = [...new Set(arr)]; // 使用 Set 数据结构进行去重
console.log(arrUnique); // 输出 [1, 2, 3]
判断数组中的内容是否相同:
可以使用 JSON.stringify() 方法将数组转换为字符串,比较两个字符串是否相等。
let arr1 = [1, 2, 3];
let arr2 = [1, 2, 3];
let arr3 = [2, 3, 4];
let str1 = JSON.stringify(arr1);
let str2 = JSON.stringify(arr2);
let str3 = JSON.stringify(arr3);
console.log(str1 === str2); // 输出 true,说明 arr1 和 arr2 的内容相同
console.log(str1 === str3); // 输出 false,说明 arr1 和 arr3 的内容不同
判断对象中的内容是否相同:
可以使用递归的方式,分别比较两个对象的每个属性是否相等。
function isEqual(obj1, obj2) {
if (obj1 === obj2) {
return true;
}
if (Object.keys(obj1).length !== Object.keys(obj2).length) {
return false;
}
for (let key in obj1) {
if (obj1.hasOwnProperty(key) && obj2.hasOwnProperty(key)) {
if (isObject(obj1[key]) && isObject(obj2[key])) {
if (!isEqual(obj1[key], obj2[key])) {
return false;
}
} else if (obj1[key] !== obj2[key]) {
return false;
}
} else {
return false;
}
}
return true;
}
function isObject(object) {
return object != null && typeof object === 'object';
}
let obj1 = {a: 1, b: {c: 2}};
let obj2 = {a: 1, b: {c: 2}};
let obj3 = {a: 1, b: {c: 3}};
console.log(isEqual(obj1, obj2)); // 输出 true,说明 obj1 和 obj2 的内容相同
console.log(isEqual(obj1, obj3)); // 输出 false,说明 obj1 和 obj3 的内容不同
以上就是实现数组去重、判断数组以及对象中的内容是否相同的完整攻略,希望能够帮助到您。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js实现数组去重、判断数组以及对象中的内容是否相同 - Python技术站