Javascript基礎陣列和演算法練習題
1、編寫函式uniq(arr),返回去掉arr重複項的新陣列。
例如,uniq([1,2,2,2,3,3,3,3])將返回[1,2,3]。

2、給定A、B兩個陣列,同時存在於A、B兩個陣列中的項稱為“交集”;只在A陣列中,且不在B陣列中的項稱為“差集”
編寫函式intersection(arr1,arr2)返回兩個陣列的交集陣列;

編寫函式difference(arr1,arr2)返回兩個陣列的差集陣列

3、從1-10的陣列中隨機選擇不重複的3項樣本。

4、編寫函式random(arr),返回將arr陣列項隨機打亂的新陣列。

5、編寫函式left(arr,n)可以讓陣列arr迴圈左移n位。
例如left([66,77,88,99],2)的結果是[88,99,66,77]

6、將“我愛北京天安門”逆序。

7、編寫一個二維陣列,儲存九九乘法表。

8、編寫函式flattenArray(arr),可以將陣列扁平化。
例如[1,[2,3],[4,5],[6,[7,8],9,[[[10,[[11,12],13],14],15,16],17],18]扁平化的結果為:
[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18]

9、編寫函式isAnagram(str1,str2)用來檢查兩個字串是否互為變位詞。變位詞指不計順序的情況下兩個單詞包含完全相同的字母,不多不少。比如“silent”和“listen”互為變位詞。

10、編寫函式macrepeat(arr)返回陣列中連續出現最多次的項。
例如maxrepeat([1,1,2,2,2,3,3,3,3,3,3,4])將返回3.
