Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js将数组转换为对象数组_Node.js_Angular_Angular Material - Fatal编程技术网

Node.js将数组转换为对象数组

Node.js将数组转换为对象数组,node.js,angular,angular-material,Node.js,Angular,Angular Material,我在Node.js中有一个rest API,它输出如下数组: 本尼,24岁,随便什么,保罗,23岁,随便什么 现在,为了将其用于角度材质表,我必须将数组设置为以下格式: [{姓名:'本尼',年龄:24岁,文字:'随便'},{姓名:'保罗',年龄:23岁,文字:'随便'},] 我如何才能做到这一点?非常容易: let result = inputArr.map( innerArr => {name: innerArr[0], age: innerArr[1], Text: innerArr[

我在Node.js中有一个rest API,它输出如下数组:

本尼,24岁,随便什么,保罗,23岁,随便什么 现在,为了将其用于角度材质表,我必须将数组设置为以下格式:

[{姓名:'本尼',年龄:24岁,文字:'随便'},{姓名:'保罗',年龄:23岁,文字:'随便'},] 我如何才能做到这一点?

非常容易:

let result = inputArr.map( innerArr => {name: innerArr[0], age: innerArr[1], Text: innerArr[2]});
很容易:

let result = inputArr.map( innerArr => {name: innerArr[0], age: innerArr[1], Text: innerArr[2]});
您可以使用数组的方法

只需在数组上调用映射,从数组项中按顺序获取数据,然后在map函数中返回所需的对象

常数arr=[ [本尼,24岁,随便什么], [保罗,23岁,随便什么] ]; 常量重新映射=arr.mapdata=>{ 常量[姓名、年龄、文本]=数据; 返回{ 名称 年龄 文本 }; }; console.log重新映射 您可以使用数组的方法

只需在数组上调用映射,从数组项中按顺序获取数据,然后在map函数中返回所需的对象

常数arr=[ [本尼,24岁,随便什么], [保罗,23岁,随便什么] ]; 常量重新映射=arr.mapdata=>{ 常量[姓名、年龄、文本]=数据; 返回{ 名称 年龄 文本 }; };
console.log重新映射 你可以这样做

var data = [[ "Benni" , 24 , "Whatever" ],[ "Paul" , 23 , "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"
  }
]

完整代码见此:

您可以按如下方式执行

var data = [[ "Benni" , 24 , "Whatever" ],[ "Paul" , 23 , "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"
  }
]
有关完整代码,请参见以下内容: