1. 你觉得前端工程的价值体现在哪?
有以下几个方面:
- 为简化⽤户使⽤提供技术⽀持(交互部分)
- 为多个浏览器兼容性提供⽀持
- 为提⾼⽤户浏览速度(浏览器性能)提供⽀持
- 为跨平台或者其他基于webkit或其他渲染引擎的应⽤提供⽀持
- 为展示数据提供⽀持(数据接⼝)
2. JS
用二分法进行数组排序
var arr = [3, 1, 4, 6, 5, 7, 2];
function quickSort(arr) {
if(arr.length == 0) { //递归终止条件
return []; // 返回空数组
}
var cIndex = Math.floor(arr.length / 2); //Math.floor向下取整,找到中间位置的数
var c = arr.splice(cIndex, 1); //splice方法删除原数组中相应位置的数,会改变原数组,返回值是要被删除的数
var l = []; //创建两个空数组 分别存放比中间数大和小的数
var r = [];
for (var i = 0; i < arr.length; i++) {
if(arr[i] < c) {
l.push(arr[i]);
} else {
r.push(arr[i]);
}
}
return quickSort(l).concat(c, quickSort(r)); //进行数组连接
}
console.log(quickSort(arr));