如何在 JavaScript 中将数组转换为对象数组?

The*_*rer -7 javascript

这是数组,我希望将其转换为:

// Input
["6-AA", "7-BB", "8-KK", "9-YY"]

// Output
[{"quizId": 6, "quizAns": AA}, {"quizId": 7, "quizAns": BB},{"quizId": 8, "quizAns": KK},{"quizId": 9, "quizAns": YY}]
Run Code Online (Sandbox Code Playgroud)

请帮我解决这个问题。我试图拆分数组元素并将值作为键值对推送到对象内,但无法做到。

谢谢你。

Ifa*_*uki 5

.map()它,将其拆分.split()并对其进行解构。返回解构的变量。

解释:

  1. .map()在数组上调用的方法迭代数组中的每个元素,将其值重新分配给函数中返回的任何内容。
  2. 该.split()方法按指定的分隔符拆分字符串并返回一个数组。
  3. 变量quizId和quizAns分别被分配到数组的第 0 个和第一个元素,split 方法通过所谓的解构(语法糖)返回。
  4. 构造的对象文字正在原地返回。由于上述解构中的变量名称与您希望返回的对象中的预期属性名称相匹配,因此以下quidId: quizId内容简化为quizId.

let arr = ["6-AA", "7-BB", "8-KK", "9-YY"];

let result = arr.map(el => {
   let [quizId, quizAns] = el.split("-");
   return { quizId, quizAns};
});

console.log(result);
Run Code Online (Sandbox Code Playgroud)