所以我觉得这应该很容易,但我无法弄清楚。
为了简化,我需要动态生成一个数组。然后我需要我的代码根据该数组的中间构建一个对象列表。
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/