二维数组和json对象的转换

Posted

tags:

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

参考技术A 思路:

方法1:

这里的 source.slice(1) 取到的就是二维数组第一个数组以为的元素,可用 console.log("vals: ", vals) 打印出来看看。

方法2:

方法3:

换行后好理解些:

或者用reduce方法:

将对象数组转换为二维数组

【中文标题】将对象数组转换为二维数组【英文标题】:Convert array of Objects to 2d array 【发布时间】:2020-11-10 04:23:01 【问题描述】:

如何转换 ArrayObjects

var tags= [
  id: 0, name: "tag1", project: "p1", bu: "test",
  id: 1, name: "tag2", project: "p1", bu: "test",
  id: 2, name: "tag3", project: "p3", bu: "test"
];

进入这个二维array

[["tag1","p1", "test"],
["tag2","p1", "test"],
["tag3","p3", "test"]]

【问题讨论】:

简单的array.map developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/… 你自己试过什么? 【参考方案1】:

你可以使用map

var tags= [ id: 0, name: "tag1", project: "p1", bu: "test", id: 1, name: "tag2", project: "p1", bu: "test", id: 2, name: "tag3", project: "p3", bu: "test" ];
var res=tags.map(o=>[o.name,o.project,o.bu])
console.log(res)

或者您可以使用更通用的方法

var tags= [ id: 0, name: "tag1", project: "p1", bu: "test", id: 1, name: "tag2", project: "p1", bu: "test", id: 2, name: "tag3", project: "p3", bu: "test" ];
var res = tags.map((id,...rest) => Object.values(rest))
console.log(res)

【讨论】:

我收到一个错误:tags.map 不是一个函数。这个对象数组是从 API 调用中检索到的,并采用我在上面的问题中发布的确切格式。如果它不是一个对象数组,它只是和对象吗? @Omiinahellcat 是的,在这种情况下,它很可能是一个对象而不是数组类型的对象【参考方案2】:

Array.map 会帮助你。

https://www.geeksforgeeks.org/javascript-array-map-method/

var tags= [
  id: 0, name: "tag1", project: "p1", bu: "test",
  id: 1, name: "tag2", project: "p1", bu: "test",
  id: 2, name: "tag3", project: "p3", bu: "test"
];
          
   var newArr = tags.map(function(val, index) 
            return [val.name,val.project,val.bu]
   ) 
          
   console.log(newArr) 

【讨论】:

【参考方案3】:

如果您想保留所有可以使用的属性

let twoDArray = tags.map(tag => Object.values(tag))

// [[0, "tag1", "p1", "test"], [1, "tag2", "p1", "test"], [2, "tag3", "p3", "test"]]

【讨论】:

... 甚至tags.map(Object.values)。但无论哪种情况,您都必须确保所有对象的属性顺序相同。 添加运行sn-p。 @khrzstoper .map((id,...rest) => Object.values(rest)) 会更接近 OP 的要求

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

在 Laravel 中将二维数组转换为 json 对象

怎样将JAVA中得list集合转换为javascript的二维数组?

js如何把二维数组转换成json字符串格式

js对json数组的操作,如何将json数组里面的每一个对象的value取出生成与之对应的二维数组?

js怎样将一维数组转换成二维数组

将 JSON 二维数组转换为 AS3 数组