我有一个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);