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.


你可能感兴趣的:(Javascript基础数组和算法练习题)