如何从数组创建对象?

时间:2020-10-05 16:36:51

标签: javascript arrays json object

我想使用循环从具有许多元素的数组中创建json对象

如何从该数组返回该对象?

我的数组:

[
"text 1",
"text 2",
"text 3"
]

我想返回的对象:

return [
  {
    json: {
      message: "text 1"
    } 
  },
  {
    json: {
      message: "text 2"
    }
  },
  {
    json: {
      message: "text 3"
    }
  }
]

4 个答案:

答案 0 :(得分:0)

您可以使用Array.map

完成此操作

const input = [
  "text 1",
  "text 2",
  "text 3"
];

const output = input.map((item) => ({
  json: {
    message: item
  }
}));

console.log(output);

答案 1 :(得分:0)

let arr = [ "text 1", "text 2", "text 3" ];
let response = [];

for (let i = 0; i < arr.length; i++) {
   response.push({
    json: {
      message: arr[i];
    } 
  });
}

return response;

尽管以上代码对您有帮助,但是写一个解决问题的尝试以及在执行过程中是否遇到任何挑战通常是一个好习惯

答案 2 :(得分:-1)

您可以在推入对象的同时遍历数组:

const originalArray = [
"text 1",
"text 2",
"text 3"
]

let newArray = []

for (const arrayItem of originalArray) {
    newArray.push({json: {message: arrayItem}})
}

答案 3 :(得分:-1)

这将是使用地图的好用例。 Map允许您遍历由传递给它的函数结果填充的数组。在这种情况下,该函数将使用字段“ json”创建一个新对象,该对象中包含“ message”字段中的另一个对象。

let arr  =[
"text 1",
"text 2",
"text 3"
];
let jsonArr = arr.map(message=>{
    return ({json:{message}});
});