我在Node.js中有一个rest API,该API输出如下数组:
[["Benni",24,"Whatever"],["Paul",23,"Whatever"]]
现在为了将其用于Angular Material表中,我必须将数组设置为以下格式:
[{name: 'Benni',age: 24,Text: 'Whatever'},{name: 'Paul',age: 23,]
我该如何实现?
我在Node.js中有一个rest API,该API输出如下数组:
[["Benni",24,"Whatever"],["Paul",23,"Whatever"]]
现在为了将其用于Angular Material表中,我必须将数组设置为以下格式:
[{name: 'Benni',age: 24,Text: 'Whatever'},{name: 'Paul',age: 23,]
我该如何实现?
您可以使用数组的Array.prototype.map
方法。
只需在数组上调用一个映射,从数组项中依次获取数据,然后在map函数中返回所需的对象即可。
const arr = [
["Benni",24,"Whatever"],["Paul",23,"Whatever"]
];
const remapped = arr.map((data) => {
const [name,age,Text] = data;
return {
name,Text,};
});
console.log(remapped);
,
非常容易:
let result = inputArr.map( innerArr => {name: innerArr[0],age: innerArr[1],Text: innerArr[2]});
,
您可以按照以下步骤进行操作,
var data = [[ "Benni","Whatever" ],[ "Paul","Whatever" ]];
var collection = data.slice(); // make a copy
var keys = ["name","age","text"];
collection = collection.map(function (e) {
var obj = {};
keys.forEach(function (key,i) {
obj[key] = e[i];
});
return obj;
});
收集对象将包含以下结果
[
{
"name": "Benni","age": 24,"text": "Whatever"
},{
"name": "Paul","age": 23,"text": "Whatever"
}
]
有关完整代码,请参见:JSFiddle