繁体   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