扔掉各种库 一句代码实现功能

  • A+
所属分类:Javascript 前端
// 数组转对象
Array.prototype.reduce.call(
  ['a', 'b', 'c'],         // 要转换的数组
  (a,c,i) => (a[i] = c,a), // 迭代
  {}                       // 目标对象的初始状态
)
// 结果: {0: "a", 1: "b", 2: "c"}

// 对象转数组
Object.entries({0: "a", 1: "b", 2: "c"})
  .map( (e) => e[1] )
// 结果: ['a', 'b', 'c']

Object.entries({0: "a", 1: "b", 2: "c"}).map(
  (e,i,src) => ({ [ src[i][0] ]: src[i][1]})
)
// 结果: [{0: "a", 1: "b", 2: "c"}]

// 获取 url param
location.href.split('?')[1]
  .split('&').map( kv => ({
    [ kv.split('=')[0] ]: kv.split('=')[1]
  }) )

// 重复列表中的对象, 并修改部分属性
const list = [{name: 'n1', status: 3}] // 网络请求结果
list.push( ...['0','1','2','3','5','8','9'].map(
  status =>Object.assign( Object.create(list[0]), {status} )
))

楚廉

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: