簡體   English   中英

從Javascript中的數組創建新的對象數組

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM