javascript - 在 Javascript 中从数组创建新的对象数组

标签 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] };
  }
]

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

最佳答案

只需将 @chazsolo 的答案调整为您的预期输出,并映射到您的目标格式。

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

关于javascript - 在 Javascript 中从数组创建新的对象数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51268411/

相关文章:

javascript - 如何在 Javascript 中调整 Google map 信息窗口的大小(v3 API)

javascript - 使用高阶组件进行身份验证时如何延迟检查 redux 存储

javascript - Angular.js googlemap 信息窗口按钮单击未传递值?

javascript - 当外部脚本为空时,我需要关闭 colorbox

javascript - 是否可以强制 jQuery.jScrollPane 始终显示垂直滚动条?

javascript - 如何在 Javascript 循环中为每个字符串获取一行

javascript - 处理焦点行的按键事件

javascript - 覆盖大约 :addons 中“选项/首选项”按钮的默认操作

javascript - 在 Visual Studio 2015 中隐藏或分组 Typescript 文件

javascript - WebGL:获取事件纹理