亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

將 subArray 添加到 Javascript 中包含 subArrays 的數組

將 subArray 添加到 Javascript 中包含 subArrays 的數組

牛魔王的故事 2022-10-21 10:23:57
我有數組:[[1,2,3], [1,2,2], [4,3]]。然后我想添加數組:[3,3,3]。結果應該是[[1,2,3], [1,2,2], [4,3], [3,3,3]]我的代碼:const arr1 = [[1,2,3], [1,2,2], [4,3]];const addArr = [3,3,3];const result = [].concat(arr1 , addArr );console.log(result);日志是:[[1,2,3], [1,2,2], [4,3], 3, 3, 3]為什么?謝謝
查看完整描述

4 回答

?
莫回無

TA貢獻1865條經驗 獲得超7個贊

基本上,因為元素類型arr1是子數組,但元素類型addArr只是整數。所以你只需要addArr像下面這樣將元素包裝在一個數組上就可以了。


const arr1 = [[1,2,3], [1,2,2], [4,3]];

const addArr = [[3,3,3]];


const result = [].concat(arr1 , addArr );

console.log(result);


查看完整回答
反對 回復 2022-10-21
?
郎朗坤

TA貢獻1921條經驗 獲得超9個贊

這就是Array.prototype.concat()的工作方式:

const a = [1, []];
const b = [3, 4];
const c = a.concat(b);
// [1,  [],  3,  4]

與您的代碼沒有區別。


Concat嵌套數組


const arr1 = [[1,2,3], [1,2,2], [4,3]];

const addArr = [[3,3,3]];                // Or also, use [3, 3, 3]...

const result = arr1.concat(addArr);      // ...but than ([addArr]) here

console.log(result);


解構數組


const arr1 = [[1,2,3], [1,2,2], [4,3]];

const addArr = [[3,3,3]];           // Wrap into additional []

 

const result = [...arr1, ...addArr]; 

console.log(result)


查看完整回答
反對 回復 2022-10-21
?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

發生原因:.concat 將每個數組的內容添加到新數組中。


arr1 里面的內容是 [1,2,3], [1,2,2], [4,3]


addArr 里面的內容是 3,3,3


因此結果。


怎么做:


const arr1 = [[1,2,3], [1,2,2], [4,3]];

const addArr = [3,3,3];


const result = [...arr1, addArr];

console.log(result);


查看完整回答
反對 回復 2022-10-21
?
縹緲止盈

TA貢獻2041條經驗 獲得超4個贊

因為concat() 兩個或多個數組合并在一起。

合并與添加或推入不同。

它不會將數組作為值添加到其他數組中,而是將值合并在一起。

例子 :

const array1 = ['a', 'b', 'c'];

const array2 = ['d', 'e', 'f'];

const array3 = array1.concat(array2);


console.log(array3);

// expected output: Array ["a", "b", "c", "d", "e", "f"]

// Your guess is : Array ["a", "b", "c", ["d", "e", "f"] ]

您可以通過使用解決您的問題push()

const arr1 = [[1, 2, 3], [1, 2, 2], [4, 3]];

const addArr = [3, 3, 3];


arr1.push(addArr)

console.log(arr1);


或者通過在數組中添加值(不推薦):


const arr1 = [[1, 2, 3], [1, 2, 2], [4, 3]];

const addArr = [3, 3, 3];


const result = arr1.concat([addArr])

console.log(result);


或者也許是經典時尚:


const arr1 = [[1, 2, 3], [1, 2, 2], [4, 3]];

const addArr = [3, 3, 3];


arr1[arr1.length] = addArr


console.log(arr1);


查看完整回答
反對 回復 2022-10-21
  • 4 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號