Symbol(符号)是一种原始数据类型,它用于创建后独一无二且不可变的数据类型,它主要是为了解决可能出现的全局变量冲突的问题。例如:
const key = Symbol('key');
const obj = {
[key]: 'value'
};
console.log(obj[key]); // 输出 'value'
BigInt(大整数)是在 ECMAScript 2020 中引入的一种新的原始数据类型,它用于表示任意精度的整数。与 JavaScript 中的 Number 类型相比,BigInt 可以表示的整数范围更大,没有位数限制,可以安全地存储和操作大整数。BigInt 值以后缀 “n” 结尾。例如:
const bigIntValue = 1234567890123456789012345678901234567890n;
console.log(bigIntValue); // 输出 1234567890123456789012345678901234567890n
// 常规写法:
let str = 'sfgsdfgsd'
let result = {}
for(let i = 0; i < str.length; i++) {
if (result[str[i]]) {
result[str[i]]++
} else {
result[str[i]] = 1
}
}
console.log(result)
// 简洁写法:
let str = 'sfgsdfgsd'
let result = str.split('').reduce((a,b)=>(a[b]++ || (a[b]=1),a),{})
console.log(result)
sunshine-storage 等 npm 库进行处理。const arr1 = [33, 22, 55, 33, 11, 66]
const arr2 = [22, 55, 44, 88, 88, 99]
// 以下都去重
// 并集
const union = [...new Set([...arr1, ...arr2])]
console.log(union)
// 交集
const cross = [...new Set(arr1)].filter(item => arr2.includes(item))
console.log(cross)
// 差集
const diff = union.filter(item => !cross.includes(item))
console.log(diff)