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