-
要获得第一个属性,可以使用
.reduce
返回表示在对象中找到的属性的
keys
列表
-
要获得第二个,需要使用
.map
两次遍历数组中的每个项,每次都返回该项中定义的
keys
的值
贴上代码:
const data = [
{empnum:"10",fullname:"john doe",dateofhire:"2000-01-01:12:00:00", lastupdate:"2021-02-02"},
{empnum:"20",fullname:"john smith",dateofhire:"1990-02-01:12:00:00", lastupdate:"2021-01-02"},
{empnum:"30",fullname:"john wayne",dateofhire:"2005-01-03:12:00:00", lastupdate:"2021-02-01"},
// 要获得第一个属性,可以使用.reduce返回表示在对象中找到的属性的keys列表
// get properties from objects
const props = data.reduce((acc,item) =>
[...new Set([...acc, ...Object.keys(item)])]
, []);
// 要获得第二个,需要使用.map两次遍历数组中的每个项,每次都返回该项中定义的keys的值
// for each item, return array of values for the properties above
const records = data.map(item =>
props.map(key => item[key])
console.log(props);
console.log(records);
实现效果:
json数据如下:希望将其转换为如下数组:要获得第一个属性,可以使用.reduce返回表示在对象中找到的属性的keys列表要获得第二个,需要使用.map两次遍历数组中的每个项,每次都返回该项中定义的keys的值贴上代码:const data = [ {empnum:"10",fullname:"john doe",dateofhire:"2000-01-01:12:00:00", lastupdate:"2021-02-02"}, {empnum:"20",fullname