[英]Creating a new array of objects from an array in 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);
使用slice
獲取您要查找的值
const array = [1,2,3,4,5]; const middle = array.slice(1, -1); console.log(middle);
這將返回一個新數組,其中包含除第一個和最后一個值以外的所有值。
如果不使用map
,或者仍然不能使用map
,則仍然可以使用for
循環:
const array = [1,2,3,4,5]; const middle = array.slice(1, -1); for (let i = 0; i < middle.length; i++) { middle[i] = { middle: middle[i] }; } console.log(middle);
定義一個數組,然后將任何想要插入的數組放入其中。
let array = ['a', 'b', 'c', 'd'] let middles = [] for (i = 1; i < array.length - 1; i++) { middles.push({ middle: array[i] }) } console.log(middles)
如果您想了解更多,請檢查數組
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.