leetcode题链:912. 排序数组
/**
* @param {number[]} nums
* @return {number[]}
*/
var sortArray = function(nums) {
};
使用以下排序算法实现,并回答后续问题:
- 快排
- 归并排序
- 分别说说这两种方式在
最好
和最坏
的情况下时间复杂度是多少?最坏的情况是什么? - 哪些排序算法是稳定的?哪些是不稳定的?如何区分的?
网道JavaScript,阅读第四,五章
标准库的内容较多,可细品,对于某些对象的API目前不用去死记,可以自己找demo练练或者知道它能完成哪些操作就行
- 下面输出结果是什么,并说明转换的过程
if ([]) console.log(1);
if ({}) console.log(2);
if ([] == false) console.log(3);
if ({} == false) console.log(4);
if ([] == ![]) console.log(5);
if ({} == !{}) console.log(6);
if ('' == false) console.log(7);
if (false == 0) console.log(8);
if (1 == true) console.log(9);
if ('' == 0) console.log(10);
if (NaN == NaN) console.log(11);
if ([] == !true) console.log(12);
if ([] == false) console.log(13);
if ([] == 0) console.log(14);
if (+0 == -0) console.log(15);
if (NaN == false) console.log(16);
- 下面计算结果(包含结果的类型)是什么,并说明理由
{ } +1
1 + {}
[] + 1
1 + []
[1, 2, 3] + 0
[1, 2, 3] + '0'
1 + '0'
1 + 0
1 + true
1 + false
'1' + true
'1' + false
![] + []
1 - true
'0' - 0
0 - '1'
false - true
{ } -[]
[] - {}
false - []
- 如何判断一个变量是否为对象,有哪几种方案
- Object.keys()与Object.getOwnPropertyNames()有什么区别
- 下面如何定义
a
才能打印yes
if (a == 1 && a == 2) {
console.log('yes')
}
- 如何判断一个对象是数组
- 数组哪些方法会改变自己
- 将any(任意值)转换为布尔值的方法有哪些
- 写一个方法将传入的Date对象转换为
yyyy-MM-dd hh:mm:ss
的格式
/**
* 日期格式化
* @param {Date} date
*/
function convertDate(date) {
}
- 写个匹配手机号,邮箱的正则
const rMobile = // 1开头的11位数组
const rMail = // 中间包含@和.的字符串,@与.不能相邻
- 写一个提取url中params的函数
/**
* 提取url中的参数
* @param {String} url
*/
function getUrlParams(url){
}
console.log(getUrlParams('https://a.b.com/path#title')); // {}
console.log(getUrlParams('https://a.b.com/path?id=2')); // {id:2}
console.log(getUrlParams('https://a.b.com/path?id=2&name=abc')); // {id:'2',name='abc'}
console.log(getUrlParams('https://a.b.com/path?')); // {}
console.log(getUrlParams('https://a.b.com/path?id=2&name=abc&word=dsds')); // {id:'2',name='abc',word:'dsds'}