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”互為變位詞。