/*

  • 这是一个排序题,排序的规定如下:
  • 1、如果是数字成员,按大到小排序
  • 2、如果发现是字符串成员,则须要逐位比照,字符串中的字母,依据 a -> z -> A -> Z 排序,字符串中的数字,按 0 -> 9 排序,其它字符排在最初
  • 3、整体上,字符串成员在数字成员的后面
  • 4、其它成员排在最初
  • 编写函数 mixSort ,要求如下:
  • 1、承受一个参数,可能是数组,也可能是其它值,如果是数组则进行排序,如果是其它值,间接返回原参数即可
  • 2、如果是数组,进行排序时,不得批改原数组
  • 3、返回值为一个数组
  • [10, 20, 'abc', {a: 1}] => ['abc', 20, 10, {a: 1}]
  • ['abc', 'acc', 'a1c', 'abC'] => ['abc', 'abC', 'acc', 'a1c']

*/

/**

  • @param {any} arr
  • @return {any}

*/

js判断一个变量是否为数组

Object.prototype.toString.call(value) === "[object Array]" //为true则为数组

js判断是不是字符串

var value='1bc';//办法①:typeof(value)=='string'//办法②:Object.prototype.toString.call(value)=="[object String]" //为true则为字符串

js判断是不是数字

typeof value === 'number' && !isNaN(value)//备注:if(val === "" || val ==null){ return false; }  if(!isNaN(val)){      //对于空数组和只有一个数值成员的数组或全是数字组成的字符串,isNaN返回false,例如:'123'、[]、[2]、['123'],isNaN返回false,     //所以如果不须要val蕴含这些非凡状况,则这个判断改写为 if(!isNaN(val) && typeof val === 'number' ) return true; }

js字符串比拟大小

//JavaScript可能依据字符的 Unicode 编码大小逐位比拟字符串大小var s = "JavaScript"; //定义字符串间接量var a = s.split(""); //把字符串转换为数组console.log(a);//返回(10) ["J", "a", "v", "a", "S", "c", "r", "i", "p", "t"]var s1 = a.sort (function(a,b){  return a.localeCompare(b)});//对数组进行排序console.log(s1); //返回(10) ["a", "a", "c", "i", "J", "p", "r", "S", "t", "v"]a = s1.join(""); //而后再把数组还原为字符串console.log(a); //返回字符串“aaciJprStv”
function mixSort(arr) {    console.log(arr);    if (Object.prototype.toString.call(arr) === "[object Array]") {      let firstArr = []      let secondArr = []      let threeArr = []      for (let i = 0; i < arr.length; i++) {        //     if(/^[0-9]+.?[0-9]*/.test(arr[i])){        if (!isNaN(arr[i]) && typeof arr[i] === 'number') {          firstArr.push(arr[i])          firstArr.sort(function (a, b) { return b - a; })        } else if (typeof (arr[i]) == 'string') {          let tempArr = arr[i].split("")          // console.log('长期数组',tempArr)          let Max = tempArr.sort(function (a, b) { return a.localeCompare(b) })          secondArr.push(Max.join(""))          secondArr.sort(function (a, b) { return b - a; })        } else {          threeArr.push(arr[i])        }      }      console.log('将数组分为三个数组之一(数字)', firstArr)      console.log('将数组分为三个数组之二(字符)', secondArr)      console.log('将数组分为三个数组之三(其余)', threeArr)      console.log('数字+字母+其余的组合', firstArr.concat(secondArr).concat(threeArr))    } else {      return arr;    }  },  function main() {    console.log(mixSort(1));    console.log(mixSort({name: 'Tencent'}));    console.log(mixSort({0: 1, 1: 'a'}));    console.log(mixSort([21, 0, 0x16, 'QQ2020', 'qqIM', 'QQ3a', 'QQWechat', 'QQTencent', 'QQ2a', new Number(3), 'QQ_2020', 'TIM', 'QIDIAN', new Date(), new Date, 'qd', 'qqwechat']));   }  main(); 




我是在完结面试后才发现这个编程题考了这么多知识点,当初的编码如同还有些问题,欢送大佬探讨,实现了记得留言。面试时一看编程,傻眼了,哎,错失了面试机会……

腾讯云面试总结:

js编程题波及相干常识:如上

数组排序:

判断一个变量是否为数组:

VUE局部:

1. $nextTick( )的作用?

当你批改了data的值而后马上获取这个dom元素的值,是不能获取到更新后的值,你须要应用$nextTick这个回调,让批改后的data值渲染更新到dom元素之后再获取,能力胜利。(异步更新队列)

2.vuex  state action mutation commit dispath?

state 来存储利用中须要共享的状态;

mutations只能是同步地更改状态;commit

action异步地更改状态,action并不间接扭转state,而是发动mutation。dispath

3.watch和computed比拟?相同点?不同点?

computed 是计算属性,依赖其余属性计算值,并且 computed 的值有缓存,只有当计算值变动才会返回内容。

watch 监听到值的变动就会执行回调,在回调中能够进行一些逻辑操作。

所以一般来说须要依赖别的属性来动静取得值的时候能够应用 computed,对于监听到值的变动须要做一些简单业务逻辑的状况能够应用 watch。

4.组件之间的通信?

父—>子组件通信:prop办法接管父组件传来的值;

子—>父 $emit触发父组件中子组件自定义的事件;

兄弟组件:bus 创立vue实例作为桥梁,传递信息;

vuex

5.vue生命周期?beforeMount和mounted的用法?

beforeMount挂载组件到dom树之前触发,mounted挂载组件到dom树之后触发

http局部:

1.http和https的区别?

①http是超文本传输协定,信息是明文传输,https则是具备安全性的ssl加密传输协定。

②http和https应用的是齐全不同的连贯形式,用的端口也不一样,前者是80,后者是443。

③http的连贯很简略,是无状态的;HTTPS协定是由SSL+HTTP协定构建的可进行加密传输、身份认证的网络协议,比http协定平安。

2.Local Storage和cookie 的区别?

Cookies:服务器和客户端都能够拜访;大小只有4KB左右;有有效期,过期后将会删除;

Local Storage本地存储:只有本地浏览器端可拜访数据,服务器不能拜访本地存储直到成心通过POST或者GET的通道发送到服务器;每个域5MB;没有过期数据,它将保留晓得用户从浏览器革除或者应用Javascript代码移除

3.token存在哪里?

当你登陆胜利后,零碎会生成要给token并发给你,token须要客户端保留,每次交互的时候把token带上,个别放在header里。 HTML5的话个别有WebStorage(localStorage)做保留,后端redis会设置生效工夫为一周

我的项目局部:

我的项目中用到的技术及你负责局部是哪些,随机施展喽!
心愿对你有帮忙,也心愿在我面试的时候也能够遇到一个凶恶的人!