将对象数组及其子对象转换为新数组

编程入门 行业动态 更新时间:2024-10-24 10:14:49
本文介绍了将对象数组及其子对象转换为新数组的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我有一个像这样的数组

var data = [ { name: "Movies", info: "category_name", content: [ { name: "Interstellar", info: "category_data" }, { name: "Dark Knight", info: "category_data" }, ] }, { name: "Music", info: "category_name", content: [ { name: "Adams", info: "category_data" }, { name: "Nirvana", info: "category_data" }, ] }, { name: "Places", info: "category_name", content: [ { name: "Jordan", info: "category_data" }, { name: "Punjab", info: "category_data" }, ] }, ]

以及想要将其转换为这样的

and a want to transform it into like this

var transformedArray= [ { name: "Movies", info: "category_name" }, { name: "Interstellar", info: "category_data" }, { name: "Dark Knight", info: "category_data" }, { name: "Music", info: "category_name" }, { name: "Adams", info: "category_data" }, { name: "Nirvana", info: "category_data" }, { name: "Places", info: "category_name" }, { name: "Jordan", info: "category_data" }, { name: "Punjab", info: "category_data" }, ]

我不知道适合这种情况的关键字是什么, 我曾尝试将其映射到新数组中,但与我期望的不一样

i dont know what is the keyword suitable for this case , i have tried mapping it into new array but it's not same like i expected

var newArr = [] var manipulate = data.map(item => { return ( newArr.push(item), new1.map(items => { return ( new1.push(items) ) }) ) })

然后如何将数据"转换为"transformedArray"

then how to manipulate "data" into "transformedArray"

推荐答案

使用 Array.prototype.flatMap() .如果您的浏览器或Node.js版本本身不支持此功能,则可以基于规范:

if (!Array.prototype.flatMap) { Object.defineProperty(Array.prototype, 'flatMap', { configurable: true, writable: true, value: function flatMap (callback, thisArg = undefined) { return this.reduce((array, ...args) => { const element = callback.apply(thisArg, args); if (Array.isArray(element)) array.push(...element); else array.push(element); return array; }, []); } }); } const data = [{name:'Movies',info:'category_name',content:[{name:'Interstellar',info:'category_data'},{name:'Dark Knight',info:'category_data'}]},{name:'Music',info:'category_name',content:[{name:'Adams',info:'category_data'},{name:'Nirvana',info:'category_data'}]},{name:'Places',info:'category_name',content:[{name:'Jordan',info:'category_data'},{name:'Punjab',info:'category_data'}]}]; const transformedArray = data.flatMap(({ content, ...o }) => [o, ...content]); console.log(transformedArray);

更多推荐

将对象数组及其子对象转换为新数组

本文发布于:2023-11-30 12:10:57,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1649897.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:数组   对象   转换为   其子

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!