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