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.


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 1.用js实现随机选取10~100之间的10个数字,存入一个数组,并排序 //要是获取不重复的,则对随机数...
    persistlu阅读 11,010评论 0 0
  • 第四天 数组【悟空教程】 第04天 Java基础 第1章数组 1.1数组概念 软件的基本功能是处理数据,而在处理数...
    Java帮帮阅读 5,531评论 0 9
  • ECMAScript为操作已经包含在数组中的项提供了很多方法。这里本人总结一下自己对这些方法的理解,如此之多的方法...
    强哥科技兴阅读 3,584评论 0 0
  • concat():对数组进行拼接,具有打散插入的数组的功能,返回新数组,无权修改原数组。如果给这个concat传递...
    十七度的夏天阅读 3,126评论 0 0
  • 文/李小宛 我最先认知“鸿雁往来”这个词语是小时候观看的一部电影,电影已经记不起来叫什么名字,里面女主角的妈妈不...
    李小宛阅读 5,416评论 6 9

友情链接更多精彩内容