一些短小精悍的代码(更新中...)

91 阅读1分钟

url获取参数

Object.fromEntries(new URLSearchParams(window.location.search))
// {id: '1'}

翻转字符串

const reverse = str => str.split('').reverse().join('');
reverse('abcde')
// edcba

数组随机化

const shuffleArray = (arr) => arr.sort(() => 0.5 - Math.random());
shuffleArray([1, 2, 3, 4])
// Result: [ 1, 4, 3, 2 ]

从一个对象数组中筛选出id(也可以是其他字段)的值相同的进行分组

const data = [
  {id: 1, name: 'A'},
  {id: 2, name: 'B'},
  {id: 1, name: 'C'},
  {id: 3, name: 'D'},
  {id: 2, name: 'E'}
]

const result = data.reduce((pre, cur) => {
  const id = cur.id
  pre[id] ? pre[id].push(cur) : pre[id] = [cur]
  return pre
}, {})
console.log(result)
// {
//   1: [{id: 1, name: 'A'}, {id: 1, name: 'C'}],
//   2: [{id: 2, name: 'B'}, {id: 2, name: 'E'}],
//   3: [{id: 3, name: 'D'}]
// }

对象数据去重

const arr = [{a:1},{a:2},{a:1}];
let unique = [...new Set(arr.map(item => JSON.stringify(item)))].map(item => JSON.parse(item));
console.log(unique);