您当前的位置: 首页 >  Java

知其黑、受其白

暂无认证

  • 0浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

javaScript数组和对象相互转换

知其黑、受其白 发布时间:2022-06-28 11:03:30 ,浏览量:0

阅读目录
  • 一、数组转对象
    • 1.1、forEach
    • 1.2、reduce
  • 二、对象转数组
    • 1、for...in
    • 2、map

一、数组转对象
[{ id: 1, name: '张三' },{ id: 2, name: '李四' }]
转换为
{1:'张三 ', 2:'李四'}
1.1、forEach
let arr = [{ id: 1, name: '张三' },{ id: 2, name: '李四' }]
let obj = {}
arr.forEach(item => obj[item.value] = item.name)

console.dir(obj)
/*
    Object
    1: "张三"
    2: "李四"
*/

1.2、reduce
let arr = [{ id: 1, name: '张三' },{ id: 2, name: '李四' }]
let obj = arr.reduce((obj, item) => ({...obj,[item.id]: item.name}), {})

console.dir(obj)
/*
    Object
    1: "张三"
    2: "李四"
*/

二、对象转数组
{1:'张三', 2:'李四'}

 转换为

[{ id: 1, name: '张三' },{ id: 2, name: '李四' }]
1、for…in
let obj = {1:'张三', 2:'李四'}
let arr = []
for (let index in obj) {
    arr.push({
        'id': index,
        'name': obj[index]
    })
}

console.dir(arr)
/*
    Array(2)
    0: {id: '1', name: '张三'}
    1: {id: '2', name: '李四'}
    length: 2
*/

2、map
let obj = {1:'张三', 2:'李四'}
let arr = Object.keys(obj).map(index => ({ id: index, name: obj[index]}))

console.dir(arr)
/*
    Array(2)
    0: {id: '1', name: '张三'}
    1: {id: '2', name: '李四'}
    length: 2
*/

关注
打赏
1665558895
查看更多评论
立即登录/注册

微信扫码登录

0.0397s