前端JS常见面试题(代码自撸)
题目一示例:

适用于子数组等长度及不等长度。
let arr = [
[1,2,3],
[5,6,7,8],
[9,10,11,12,13]
]
function arrayDiagonal(arr) {
let lenarr = [];
for(let s = 0; s < arr.length;s ++) {
lenarr.push(arr[s].length)
}
let arrChildlen = Math.max.apply(null,lenarr);
console.log(arrChildlen)
let newArr = [],
arrLen = arr.length,
//arrChildlen = arr[0].length,
loopCount = Math.ceil((arrLen * arrChildlen) / 2);
for(let i = 0;i < loopCount ; i ++) {
for(let j = 0; j <= i; j ++) {
if(j >= arrLen) {
break
}
for(let l = 0; l <= i; l ++) {
//console.log(j + ":" + (i-j))
if(j + l === i) {
if(j > arr[j].length || i-j >= arr[j].length) {
break
}
//console.log(j + ":" + (i-j))
//console.log(j + ":" + (i-j) + ":" + arr[j][i-j]) newArr.push(arr[j][i-j])
}
}
}
}
return newArr
} console.log(arr)
console.log(arrayDiagonal(arr))


题目二示例:

注:传参应试用字符串形式,而不是使用es6模板,使用es6模板传参,浏览器会自动解析替换相应变量
例:var s = render("${year}-${mouth}-${day}")
let year = '2018',
mouth = '08',
day = '08',
s = render("${ year }-${ mouth }-${ day }");
console.log(s); function render(str) {
let leftPos = [],
rightPos = [];
function searchSubStr(str,subStr) {
let arr = [];
let positions = str.indexOf(subStr);
while(positions > -1){
arr.push(positions);
positions = str.indexOf(subStr,positions + 1);
}
return arr;
}
leftPos = searchSubStr(str,"{");
rightPos = searchSubStr(str,"}");
let name = [];//存放名称
for(let i = 0; i < leftPos.length;i ++) {
name.push(str.substring(leftPos[i] + 1,rightPos[i]))
}
for(let j = 0; j < name.length;j ++) {
str = str.replace(new RegExp('\\$\\{'+ name[j] +'\\}','gm'),eval(name[j]))
} return str
}

题目三示例:

function output(num) {
var promise = new Promise( function(resolve, reject) {
setTimeout(function () {
console.log(new Date(), num);
resolve(num);
},1000 * num);
});
return promise;
}
for (var i = 0;i < 100;i++){
output(i)
}

前端JS常见面试题(代码自撸)的更多相关文章
- vue.js常见面试题及常见命令介绍
Vue.js介绍 Vue.js是JavaScript MVVM(Model-View-ViewModel)库,十分简洁,Vue核心只关注视图层,相对AngularJS提供更加简洁.易于理解的API.V ...
- JS常见面试题,看看你都会多少?
1. 如何在ES5环境下实现let 这个问题实质上是在回答let和var有什么区别,对于这个问题,我们可以直接查看babel转换前后的结果,看一下在循环中通过let定义的变量是如何解决变量提升的问题 ...
- JS常见面试题总结-真实被问到的!
1.判断数据类型有几种方法 console.log(typeof 'abc') // string console.log(Object.prototype.toString.call('abc')) ...
- js常见面试题
1.大小写转化,将字符串转化成驼峰的方法 例:border-bottom-color转化为:borderBottomColor var str="border-bottom-color&qu ...
- 整理的最全 python常见面试题(基本必考)
整理的最全 python常见面试题(基本必考) python 2018-05-17 作者 大蛇王 1.大数据的文件读取 ① 利用生成器generator ②迭代器进行迭代遍历:for line in ...
- 整理的最全 python常见面试题
整理的最全 python常见面试题(基本必考)① ②③④⑤⑥⑦⑧⑨⑩ 1.大数据的文件读取: ① 利用生成器generator: ②迭代器进行迭代遍历:for line in file; 2.迭代 ...
- 【javascript常见面试题】常见前端面试题及答案
转自:http://www.cnblogs.com/syfwhu/p/4434132.html 前言 本文是在GitHub上看到一个大牛总结的前端常见面试题,很多问题问的都很好,很经典.很有代表性.上 ...
- Vue常见面试题汇总
Vue框架常见面试题 1.active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么 ...
- Web开发的常见面试题HTML和HTML5等
作为一名前端开发人员,HTML,HTML5以及网站优化都是必须掌握的技术,下面列举一下HTML, HTML5, 网站优化等常见的面试题: HTML常见面试题: 1. 什么是Semantic HTML( ...
随机推荐
- 微信开发时调用jssdk,在安卓设备中成功调用;在ios设备中返回错误消息:config fail,无其他具体错误消息,且接口权限显示获取ok,无法调用
js代码如下: JavaScript code ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 ...
- Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数)
[转]Windows 性能监视器的基本指标说明(CPU,内存,硬盘参数) 作为一个系统工程师来说,要看懂监控的数据至关重要,关系着优化和分析出现的问题.我是在运维过程中要用到的.因此,今天给出Wind ...
- docker安装和使用
1.安装的docker版本 docker -v Docker version 17.03.2-ce 2.查看本地的镜像 docker images 3.拉取镜像 docker pull centos: ...
- Java开发中的23种设计模式
设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...
- 4依赖倒转原则DIP
一.什么是倒转? 传统的过程式设计倾向于使高层次的模块依赖于低层次的模块,抽象层依赖 于具体的层次. 二.什么是依赖倒转原则 依赖倒转(Dependence Inversion Principle ) ...
- ux.form.field.Year 只能选年的时间扩展
效果如图,亲测6.2.1版本可用,用法同时间选择控件 //只选择年的控件 Ext.define('ux.picker.Year', { extend: 'Ext.Component', alias: ...
- socket.io 中文文档
Socket.io是一个WebSocket库,包括了客户端的js和服务器端的nodejs,它的目标是构建可以在不同浏览器和移动设备上使用的实时应用.它会自动根据浏览器从WebSocket.AJAX长轮 ...
- 【Java线程安全】 — ThreadLocal
[用法] 首先明确,ThreadLocal是用空间换时间来解决线程安全问题的,方法是各个线程拥有自己的变量副本. 既然如此,那么是涉及线程安全,必然有一个共享变量,我给大家声明一个: public c ...
- css的position,float属性的理解
我们知道,html是按照普通流来加载的,这个时候我们有些需求就不好实现.因此出现了非普通流: 1.普通流:按照顺序正常的排列,长度或不够就往下挤.position默认的static 2.非普通流:脱离 ...
- iOS 调试 crash breakpoint EXC_BAD_ACCESS SIGABRT
原文地址:iOS 调试 crash breakpoint EXC_BAD_ACCESS SIGABRT作者:流年若离殇 在调试程序的时候,总是碰到crash的bug,而且一追踪就是一些汇编的代码,让人 ...