題目大概意思:給定兩個維度不確定的陣列,求它們之間不重複的資料合集,返回乙個新陣列
(備:在當時的題目,並沒有說明陣列中資料的準確型別,本次採用了字串和數值混合的資料來測試)
如給定:
arr1 = [11, 25, 44, [52, 44, 23], '52']
arr2 = [16, 25, 17, [11, 25, [23, 18]]]
返回:[52, "52", 16, 17, 18]
本次需要考慮的問題:
1、陣列降維
因為陣列的維度是不確定的,我們需要做的是把兩個陣列都轉換成一維陣列。
在es6中,提供了這麼乙個方法
array.prototype.flat()
在陣列的層次不確定時,可以使用infinity關鍵字作為引數,即:
array.prototype.flat(infinity)
2、使用物件來判斷資料出現的次數
本次需要的資料是:兩個陣列合併後只出現一次的資料,這裡我想到的是採用物件的鍵值對方法,但是由於普通物件的鍵是字串型別,對於陣列中同時出現字串和數值型別則無法判斷,所以我採用map集合來儲存資料,map集合是es6提供的乙個完整的hash結構,鍵可以是任意型別
**如下:
function fn(arr1, arr2));
for(let [key, val] of map.entries())
}return res;
}
測試**:
let arr1 = [11, 25, 44, [52, 44, 23], '52'];
let arr2 = [16, 25, 17, [11, 25, [23, 18]]];
console.log(fn(arr1, arr2));
結果:
[52, "52", 16, 17, 18]
CVTE2109春招筆試第一場前端程式設計題
題目大概意思 給定兩個維度不確定的陣列,求它們之間不重複的資料合集,返回乙個新陣列 備 在當時的題目,並沒有說明陣列中資料的準確型別,本次採用了字串和數值混合的資料來測試 如給定 arr1 11,25,44,52,44,23 52 arr2 16,25,17,11,25,23,18 返回 52,52...
CVTE2109春招筆試第一場前端程式設計題
題目大概意思 給定兩個維度不確定的陣列,求它們之間不重複的資料合集,返回乙個新陣列 備 在當時的題目,並沒有說明陣列中資料的準確型別,本次採用了字串和數值混合的資料來測試 如給定 arr1 11,25,44,52,44,23 52 arr2 16,25,17,11,25,23,18 返回 52,52...
CVTE2109春招筆試第一場前端程式設計題
題目大概意思 給定兩個維度不確定的陣列,求它們之間不重複的資料合集,返回乙個新陣列 備 在當時的題目,並沒有說明陣列中資料的準確型別,本次採用了字串和數值混合的資料來測試 如給定 arr1 11,25,44,52,44,23 52 arr2 16,25,17,11,25,23,18 返回 52,52...