javaScript数组和对象相互转换

Posted 知其黑、受其白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了javaScript数组和对象相互转换相关的知识,希望对你有一定的参考价值。

阅读目录

一、数组转对象

[ 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
*/

以上是关于javaScript数组和对象相互转换的主要内容,如果未能解决你的问题,请参考以下文章

JavaScriptES6中Map与对象数组,JSON之间的相互转换

jquery对象和javascript对象即DOM对象相互转换

JavaScript 扁平与树形数组数据的转换

JQueryjquery对象和javascript对象即DOM对象相互转换

js中平级数组和树形结构数据相互转换

JavaScript 之 JSON [4] parse()和stringify() -JSON字符串和JavaScript对象数据之间的相互转换