首页 > 解决方案 > 从Javascript中的数组创建一个新的对象数组

问题描述

所以我觉得这应该很容易,但我无法弄清楚。

为了简化,我需要动态生成一个数组。然后我需要我的代码来构建一个基于该数组中间的对象列表。

array = [a, b, c, d];
start = array[0];
finish = array[array.length - 1];
middle = [
  { middle: array[1] },
  { middle: array[2] }
] 

我需要它是动态的,所以我不能硬编码我的中间值,因为数组长度不是一成不变的。我假设我需要一个loop函数来遍历我的数组,但除了在 DOM 中创建一个列表之外,我从未将它用于任何事情。我觉得我在想这个什么的,因为这应该很容易......我所做的一切都会破坏我的代码。

我最近的尝试是:

middle = [
  for (i = 1; i < array.length - 2; i++) {
    return { middle: array[i] };
  }
]

我想我明白为什么它不起作用了。它只是返回我想要的,但我认为这个值永远不会被存储。

标签: javascript

解决方案


只需通过映射到您的目标格式来调整@chazsolo 对您预期输出的回答。

const array = [1,2,3,4,5];
const middle = array.slice(1, -1).map(item => ({middle: item}));
console.log(middle);


推荐阅读