题目一示例:

适用于子数组等长度及不等长度。

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常见面试题(代码自撸)的更多相关文章

  1. vue.js常见面试题及常见命令介绍

    Vue.js介绍 Vue.js是JavaScript MVVM(Model-View-ViewModel)库,十分简洁,Vue核心只关注视图层,相对AngularJS提供更加简洁.易于理解的API.V ...

  2. JS常见面试题,看看你都会多少?

    1. 如何在ES5环境下实现let 这个问题实质上是在回答let和var有什么区别,对于这个问题,我们可以直接查看babel转换前后的结果,看一下在循环中通过let定义的变量是如何解决变量提升的问题 ...

  3. JS常见面试题总结-真实被问到的!

    1.判断数据类型有几种方法 console.log(typeof 'abc') // string console.log(Object.prototype.toString.call('abc')) ...

  4. js常见面试题

    1.大小写转化,将字符串转化成驼峰的方法 例:border-bottom-color转化为:borderBottomColor var str="border-bottom-color&qu ...

  5. 整理的最全 python常见面试题(基本必考)

    整理的最全 python常见面试题(基本必考) python 2018-05-17 作者 大蛇王 1.大数据的文件读取 ① 利用生成器generator ②迭代器进行迭代遍历:for line in ...

  6. 整理的最全 python常见面试题

      整理的最全 python常见面试题(基本必考)① ②③④⑤⑥⑦⑧⑨⑩ 1.大数据的文件读取: ① 利用生成器generator: ②迭代器进行迭代遍历:for line in file; 2.迭代 ...

  7. 【javascript常见面试题】常见前端面试题及答案

    转自:http://www.cnblogs.com/syfwhu/p/4434132.html 前言 本文是在GitHub上看到一个大牛总结的前端常见面试题,很多问题问的都很好,很经典.很有代表性.上 ...

  8. Vue常见面试题汇总

    Vue框架常见面试题   1.active-class是哪个组件的属性?嵌套路由怎么定义? 答:vue-router模块的router-link组件. 2.怎么定义vue-router的动态路由?怎么 ...

  9. Web开发的常见面试题HTML和HTML5等

    作为一名前端开发人员,HTML,HTML5以及网站优化都是必须掌握的技术,下面列举一下HTML, HTML5, 网站优化等常见的面试题: HTML常见面试题: 1. 什么是Semantic HTML( ...

随机推荐

  1. Pycharm 在Windows下出现闪退问题(即是在运行一段时间后,自己就退出崩掉了)的解决方法

    Pycharm 在Windows下出现闪退问题(即是在运行一段时间后,自己就退出崩掉了)的解决方法 最近自己下载了最新版本的Pycharm,运行程序过程中发现,在运行一段时间后(比如10几分钟),Py ...

  2. 空的OnGUI也会有gc

    一个空场景,添加如下代码: using System.Collections; using System.Collections.Generic; using UnityEngine; public ...

  3. Sword 内核队列二

    #ifndef __GTC_FIFO_H_ #define __GTC_FIFO_H_ #ifndef GTC_MAX #define GTC_MAX(a,b) ((a) > (b) ? (a) ...

  4. Altium designer软件如何设计原理图库封装图库以及交互式布局

    欢迎大家关注http://www.raymontec.com(个人专博) Altium Designer学习—认识界面以及PCB设计整体要求 http://www.raymontec.com/alti ...

  5. GCH实践经验

    服务器: 终端整机: 办公套件: 杀毒软件: 打印机:

  6. 使用react-navigation提示undefind is not a function

    在学习react-natrive的时候,看到导航跳转一章,遂试了一下demo: 但是呢,在安卓模拟器上却报错了: 找了许多方法,包括降低版本都不行,后来修改了一下导出就可以了:

  7. hbase region still in transition

    1,删除hbase中的 hbase:meta表中相应的region的row 如; get 'hbase:meta','kylin_metadata,,1481101316881.f3b4c7c1148 ...

  8. Mesos:数据库使用的持久化卷

    摘要: Mesos为很多不同的用户场景都提供了精妙的,考虑周全的API.持久化卷是由新的acceptOffers API引入的特性.持久化卷让用户可以为Mesos构建数据库框架,Mesos可以在任何不 ...

  9. Python中的test测试

    不知道怎么回事,打开的工程中出现了pytest,难道是检测到了我的命名中有test吗? 参考博文:https://blog.csdn.net/weixin_41605937/article/detai ...

  10. Linux基本的命令使用2018-4-20 18:47:28

    1.1ls -a 显式所有文件,包括隐藏文件 1.2  ls -l  列表形式显式文件名称 1.3  ls -l -h 列表显式大小和名称 也可以这样写 ls -alh  (-可以省略) 重定向 ls ...