簡體   English   中英

將項目推送到javascript中的數組數組

[英]Push an item to array of array in javascript

嗨,我有一個如下所示的數組並試圖在地圖上推送項目,但我無法推送,請告訴我在這里做錯了什么。

firstClassPrices: [
  [
    "Kan ej ombokas",
    "431",
    "SEK",
    "Företagspris"
  ],
  [
    "Kan ombokas",
    "525",
    "SEK",
    "Företagspris"
  ]
]

嘗試按下“1”,如下所示:

 let ticketi = firstClassPrices.map((price) => {
      price.push("1");
    });

我需要 o/p 作為

firstClassPrices: [
      [
        "Kan ej ombokas",
        "431",
        "SEK",
        "Företagspris",
         "1"
      ],
      [
        "Kan ombokas",
        "525",
        "SEK",
        "Företagspris",
         "1"
      ]
    ]

你必須退回price

 const firstClassPrices = [ [ "Kan ej ombokas", "431", "SEK", "Företagspris" ], [ "Kan ombokas", "525", "SEK", "Företagspris" ] ]; let ticketi = firstClassPrices.map((price) => { // skip if price already includes 1 if (!price.includes("1")) { price.push("1"); } return price; }); console.log(ticketi);

您的方法會改變舊數組並映射undefined


相反,您可以映射數組的新舊內容。

這種方法不會改變舊數據。

let ticketi = firstClassPrices.map(price => [...price, '1']); 

您可以將Array.prototype.map()Array.prototype.concat( ) 結合使用

代碼:

 const firstClassPrices = [["Kan ej ombokas","431","SEK","Företagspris"],["Kan ombokas","525","SEK","Företagspris"]] const ticketi = firstClassPrices.map(p => p.concat('1')) console.log(ticketi)

由於您想改變原始數組,您可以使用函數Array.prototype.forEach

您面臨的問題是地圖處理程序內部缺少返回值,所以基本上,處理程序返回undefined

 const array = [ [ "Kan ej ombokas", "431", "SEK", "Företagspris" ], [ "Kan ombokas", "525", "SEK", "Företagspris" ]], handler = (a) => a.push("1"); array.forEach(handler); console.log(array);
 .as-console-wrapper { max-height: 100% !important; top: 0; }

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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