使用typescript解析json数组中的所有值



我有一个json数组,如下所示,我需要从下面的数组中获取所有值,并需要形成一个新的数组对象数组

但是我不能使用任何模型文件来实现这一点。不知道如何在打字脚本中做到这一点。

请帮我一下。

[
{
"firstName": "Rajesh",
"lastName": "Kumar",
"age": "25"
},
{
"firstName": "john",
"lastName": "david",
"age": "26"
}
]

我需要像一样输出

[["Rajesh","Kumar","25"],["john","david","26"]]

因此,您想要做的是使用<Array>.map映射数组中的所有值。然后,您可以通过两种方式将对象返回为数组,第一种是使用<Object>.values或只执行[obj.firstName, obj.lastName, obj.age]

您可以尝试在数组中循环,并使用for循环来更改值,但这确实很冗长。我推荐第一种方法,因为在这种情况下它更具动态性。

因此生成的代码将是

let data = [
{
"firstName": "Rajesh",
"lastName": "Kumar",
"age": "25"
},
{
"firstName": "john",
"lastName": "david",
"age": "26"
}
];
// I'm assigning the value to the variable called data in this case
data = data.map(item => Object.values(item));
// Now the value of data is the array you want it to be

现在您可以按照我指定的其他方法进行操作,但是这是最不冗长的方法。

这将为您提供所需的

const array = [
{
"firstName": "Rajesh",
"lastName": "Kumar",
"age": "25"
},
{
"firstName": "john",
"lastName": "david",
"age": "26"
}
];
// Under result you will have the required array
const result = a.map(x => [Object.keys(x).map(key => x[key])])
// Or, explicit
const result = array.map(x => [x.firstName,x.lastName,x.age])

由于每个对象中的元素有限,因此可以执行以下操作:

const collections = [
{
firstName: 'Rajesh',
lastName: 'Kumar',
age: '25'
},
{
firstName: 'john',
lastName: 'david',
age: '26'
}
]
const answer = collections.map(c => [c.firstName, c.lastName, c.age])
console.log(answer)

你可以试试这个:

let newArrObj: any[] = []; 
// objects - your array of objects
for (let obj in objects) {
let objArray= []; 
objArray.push(obj.firstName)
objArray.push(obj.lastName)
objArray.push(obj.age)

newArrObj.push(objArray);
}

console.log("Result newArrObj: ", newArrObj);

最新更新