冒泡排序算法

  1. 原理:比较相邻的两个元素,如果前一个比后一个大,则交换位置
function sort(data) {let i, j, swap;for (i = 0; i < data.length; i++) {for (j = 0; j < data.length; j++) {if (data[i] < data[j]) {swap = data[j]; // 定义一个交换容器data[j] = data[i];data[i] = swap;}}}return data;
}
sort([1, 3, 2, 5, 4]);
复制代码

数组去重

  1. 原理:新建一新数组,遍历传入数组,值不在新数组就 push 进该新数组中
function uniq(array) {let temp = []; // 一个新的数组for (let i = 0; i < array.length; i++) {// 判断条件可以使用Es7提供的 includes方法if (temp.indexOf(array[i]) == -1) {temp.push(array[i]);}}return temp;
}
let array = [1, 1, 1, 2, 2, 3, 4, 3, 5, 5];
console.log(uniq(array));
[...new Set(array)]; // Es6使用扩展运算符进行去重
复制代码

字符串转驼峰(border-bottom-color ----> borderBottomColor)

  1. 使用 split('-')将带有-的字符串分割成数组
  2. 使用循环处理数组的每一项(数组的第一项不用处理)
  3. 使用 charAt(0)获取字符串的第一个字符 (也可以 string[0]-->获取字符串的第一个字符)
  4. 使用 toUpperCase()方法将字母变成大写
  5. 拼接处理后的首字母与 arr[i].substring(1)
  6. 使用 arr.join('')将数组变成字符串
function change(string) {let arr = string.split("-");// 注意要从第二项开始既索引值为1for (let i = 1; i < arr.length; i++) {arr[i] = arr[i].charAt(0).toUpperCase() + arr[i].substring(1);}let str = arr.join("");return str;
}
console.log(change("border-bottom-color"));
复制代码

查找字符串中出现次数最多的字符串

  1. 原理: 利用对象的 key 值是唯一值,设置字符串的每一项为 key 值
  2. 初始化 value 值为 1 如果对象中存在 key 值则 value++
  3. 通过 Object.keys(obj) 获取对象中所有 key 的值返回数组
  4. 通过 Object.values(obj); 获取所有 value 返回数组
  5. 通过 Math.max()获取一组数据中的最大值
function getMax(str) {let obj = {};for (let i in str) {obj[str[i]] ? obj[str[i]]++ : (obj[str[i]] = 1);}let keys = Object.keys(obj);let vals = Object.values(obj);let maxVal = Math.max(...vals);return {max: keys[vals.indexOf(maxVal)],number: maxVal};
}
console.log(getMax("adfasdfadsfsa111qwqer222223r"));
复制代码

编写一个产生在 m、n 之间的随机整数的方法

  1. 原理:Math.round()把数四舍五入为最接近的整数。
  2. Math.random() 产生一个 0 ~ 1 的随机数
function random(m, n) {return Math.round(Math.random() * (n - m)) + m;
}
console.log(random(20, 30)); //20--30之间整数
复制代码

数组中每一项变为 number 类型

  1. parseInt() 函数可解析一个字符串,并返回一个整数。
function arrItemSwitchNumber(arr) {return arr.map(item => {return parseInt(item);});
}
console.log(arrItemSwitchNumber(["1", "2", "3"]));
复制代码

二分算法

  1. 原理:从数组中间值开始查找,如果中间值大于目标值则取取左边,小于取右边,重新传值回调
function helfSearch(ary, num) {let len = ary.length;let middle = Math.floor(len / 2);let mNum = ary[middle];if (len === 0) return null;else if (mNum === num) return middle;else if (mNum > num) return helfSearch(ary.slice(0, middle), num);else return helfSearch(ary.slice(middle + 1), num);
}
//查找某个元素在数组中的位置
console.log("我是二分算法" + helfSearch([1, 2, 3, 4, 5, 6, 7, 8], 1));
复制代码

获取到页面中所有选中的 checkbox 怎么做?

  1. 原理:获取所有的复选框[ele:所有复选框的css选择器]
  2. 设置一个存放复选框val的数组
  3. 筛选出选中复选框的元素,向check_val中push val值
function getCheckboxVal(ele) {//获取所有的复选框[ele:所有复选框的css选择器]let check_ele = document.querySelectorAll(ele);let check_val = []; //存放复选框val的数组for (let k in check_ele) {//筛选出选中复选框的元素,向check_val中push val值if (check_ele[k].checked) check_val.push(check_ele[k].value);}return check_val
}
getCheckboxVal('.box input[type = checkbox]')
复制代码

转载于:https://juejin.im/post/5cb52904e51d456e811d2695

常见的几个js笔试题相关推荐

  1. js闭包循环原因_常见的三个 JS 面试题

    本文不是讨论最新的 JavaScript 库.常见的开发实践或任何新的 ES6 函数.相反,在讨论 JavaScript 时,面试中通常会提到三件事.我自己也被问到这些问题,我的朋友们告诉我他们也被问 ...

  2. 由几道JS笔试题引发的知识点探究

    1.JS有哪些全局函数? 2.alert('5'+5) 3.cookie.sessionStorage和localStorage的区别 4.call()和apply()方法的区别 5.严格模式和非严格 ...

  3. JS笔试题(3)【阿里巴巴】

    1.请编写一个JavaScript函数 parseQueryString,它的用途是把URL参数解析为一个对象,如: var url = "http://www.taobao.com/ind ...

  4. 软件开发的几种常见模型(网易秋招笔试题)

    软件开发模型(Software Development Model)是指软件开发全部过程.活动和任务的结构框架. 开发模型有: 1.边做边改模型(Build-and-Fix Model): 2.瀑布模 ...

  5. 常见的php笔试题(附答案)搜集整理

    转载链接:http://www.yaojinbu.com/p/139.html 常见的php笔试题(附答案)搜集整理 1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在哪个预定义变量中?而 ...

  6. php笔试攻略,常见的php笔试题(附答案)搜集整理

    以下是摘要: 1.在PHP中,当前脚本的名称(不包括路径和查询字符串)记录在哪个预定义变量中?而链接到当前页面的URL又记录在哪个预定义变量中? 答:echo $_SERVER['PHP_SELF'] ...

  7. sql 以a开头的所有记录_#9#猴子聊数据分析之常见的SQL笔试题和面试题(下)

    题目来源 猴子:常见的SQL笔试题和面试题(下)​zhuanlan.zhihu.com 1.SQL语言允许使用通配符进行字符串匹配的操作,其中'%'可以表示:多个字符 2.通过 SQL,如何从 &qu ...

  8. 大厂常见笔试题 滑动窗口内数的和

    大厂常见笔试题,我以为出一个很难的题,结果出了一个基础题, 给你一个大小为n的整型数组和一个大小为k的滑动窗口,将滑动窗口从头移到尾,输出从开始到结束每一个时刻滑动窗口内的数的和. 样例 对于数组 [ ...

  9. java字符串笔试题_五道Java常见笔试题及答案汇总

    1.String和StringBuffer的区别? 答:Java平台提供了两个类:String和StringBuffer,它们可以储存和操作字符串,即包含多个字符的字符数据.这个String类提供了数 ...

最新文章

  1. serlvet 九大内置对象
  2. 最新!2022中国大学校友会排名发布
  3. LEDNET 实时分割
  4. 蓝桥杯-最小乘积(java)
  5. 山师计算机专业研究生怎么样,山东师范大学有计算机专业硕士吗?
  6. Abp vnext Web应用程序开发教程 9 —— 作者:用户界面
  7. windows 9X, 2000, xp所有版本注册表设置(1)
  8. Ext.widgets-menu
  9. mysql一对多查询合并多的一方的数据。
  10. c语言中文件的四种读取方法
  11. 完全查杀VIKING(威金蠕虫)病毒与免疫补丁
  12. 奥的斯维修服务器无响应,奥的斯GEN-2电梯故障现象:不定层的平层停梯,外呼无用断电或打检修会恢复还有运行至某层不开门自动去找平...
  13. ppt如何替换其他mo ban_“华南师范大学”专属PPT模板来了!华南师大同学们的PPT我们承包了!...
  14. Debian 官方发文庆祝 28 岁生日
  15. fortran——实数和复数(矢量)运算
  16. java抖音字符视频_抖音上很火的字符画 Android 实现 | 视频转换实现
  17. 如何制作Windows98启动盘的方法
  18. 微信小程序(WeUI框架)
  19. 百度智能云的“星辰大海”
  20. tinycore php,Tiny Core Linux 显示中文的方法

热门文章

  1. 《自然》杂志:关于人类未来的工作,有三个最紧迫的问题
  2. 阿里、腾讯基本薪资曝光,资深算法工程师24万美元,高级研究员26万美元
  3. CSDN 正式推出 C 学堂赋能优质教育机构打赢流量战!
  4. 大写的服!90 后程序员利用业余时间帮网友鉴定毒蘑菇,拥有百万粉丝成网络大 V...
  5. 好奇了好久的「对象」,就这?
  6. 谷歌软件工程师薪资百万,大厂薪资有多高?
  7. Tomcat在windows中解压war包失败问题
  8. JNI命令行下编译错误解决方案
  9. 在controller中无法通过注解@Value获取到配置文件中定义的值解决办法
  10. c# 第28节 面向对象概述