javascript 常见的面试题---数组 && 算法

网上汇总而来的题目。

第一题:

用 JavaScript 写一个函数,输入 int 型(正整数),返回整数逆序后的字符串。如:输入整型 1234,返回字符串“4321”。

要求必须使用递归函数调用,不能用全局变量,输入函数必须只有一个参数传入,必须返回字符串。

查看代码

 


 第二题:

给定两个数组,写一个方法来计算它们的交集。

例如:给定 nums1 = [1, 2, 2, 1],nums2 = [2, 2],返回 [2, 2]。

查看代码

 


 第三题:

冒泡排序如何实现,时间复杂度是多少, 还可以如何改进?

查看代码

 


 第四题:

某公司 1 到 12 月份的销售额存在一个对象里面。

如下:{1:222, 2:123, 5:888},请把数据处理为如下结构:[222, 123, null, null, 888, null, null, null, null, null, null, null]

查看代码

 


第五题:

使用 sort() 对数组 [3, 15, 8, 29, 102, 22] 进行排序,输出结果

查看代码

 


第六题:

两个数组合并成一个数组

请把两个数组 ['A1', 'A2', 'B1', 'B2', 'C1', 'C2', 'D1', 'D2'] 和 ['A', 'B', 'C', 'D'],合并为 ['A1', 'A2', 'A', 'B1', 'B2', 'B', 'C1', 'C2', 'C', 'D1', 'D2', 'D']。

查看代码

 


第七题:

已知如下数组:

var arr = [ [1, 2, 2], [3, 4, 5, 5], [6, 7, 8, 9, [11, 12, [12, 13, [14] ] ] ], 10];

编写一个程序将数组扁平化去并除其中重复部分数据,最终得到一个升序且不重复的数组

查看代码

 


第八题:

 给定一个数组 nums,编写一个函数将所有 0 移动到数组的末尾,同时保持非零元素的相对顺序。

示例:

输入: [0,1,0,3,12]
输出: [1,3,12,0,0]

说明:

  1. 必须在原数组上操作,不能拷贝额外的数组。

  2. 尽量减少操作次数。

查看代码

 


第九题:

打印出 1 - 10000 之间的所有对称数

例如:121、1331 等

查看代码

 


第十题:

 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数。

查看代码

有错误的地方欢迎指出。

posted @ 2019-07-17 01:35  chulai9527  阅读(1016)  评论(0编辑  收藏  举报