数据结构
KK要继续努力
这个作者很懒,什么都没留下…
展开
-
时间格式化输出
时间格式化输出题目:输入:formatDate(new Date(1409894060000), ‘yyyy-MM-dd HH:mm:ss 星期w’)输出:2014-09-05 13:14:20 星期五解答:function formatDate(date, format) { var year = date.getFullYear(); var month = date.getMonth() + 1; var day = date.getDate(); var hour = date.g转载 2021-06-09 15:41:35 · 108 阅读 · 0 评论 -
获取字符串的长度
获取字符串的长度题目:如果第二个参数 bUnicode255For1 === true,则所有字符长度为 1否则如果字符 Unicode 编码 > 255 则长度为 2解答:function strLength(s, bUnicode255For1) { if(bUnicode255For1===true){ return s.length; }else{ let len = 0; for(let i=0; i<s.len转载 2021-06-09 14:01:01 · 166 阅读 · 0 评论 -
斐波那契数列
斐波那契数列题目:用 JavaScript 实现斐波那契数列函数,返回第n个斐波那契数f(n) = f(n-1)+f(n-2)。 f(1) = 1, f(2) = 1 等解答:function fib(count) {//参数判断 var count = parseInt(count); if (isNaN(count) || count <= 0) { return 0; } function f(count) { if (count <= 2) { retur转载 2021-06-08 17:12:31 · 53 阅读 · 0 评论 -
数组的去重
数组去重转载 2021-06-08 10:31:27 · 60 阅读 · 0 评论 -
根据包名,在指定空间中创建对象
根据包名,在指定空间中创建对象题目:输入:namespace({a: {test: 1, b: 2}}, ‘a.b.c.d’)输出:{a: {test: 1, b: {c: {d: {}}}}}解答:function namespace(oNamespace, sPackage) {//将sPackage按.分割成数组:["a", "b", "c", "d"] var arr = sPackage.split(".");//循环这个数组,查找oNamespace里是否有相应的对象 fo转载 2021-06-08 09:48:16 · 128 阅读 · 0 评论 -
获取url参数
获取url参数题目:获取 url 中的参数指定参数名称,返回该参数的值 或者 空字符串不指定参数名称,返回全部的参数对象 或者 {}如果存在多个同名参数,则返回数组不支持URLSearchParams方法解答:var s = 'http://www.nowcoder.com?key=1&key=2&key=3&test=4#hehe';function getUrlParam (url, sKey) { var result = {}; //排除‘#’等转载 2021-06-08 08:38:37 · 159 阅读 · 0 评论 -
修改this指向
修改this指向题目:封装函数 f,使 f 的 this 指向指定的对象解答:修改this指向有3种方法,分别为:apply(要变成的指向,数组参数)方法,function bindThis(f, oTarget) { return function(){ return f.apply(oTarget,arguments); }}call(要变成的指向,参数1,参数2,…)方法function bindThis(f, oTarget) { r转载 2021-04-23 16:29:11 · 94 阅读 · 0 评论 -
DOM节点查找
DOM节点查找题目:实现函数封装:查找两个节点的最近的一个共同父节点,可以包括节点自身(oNode1 和 oNode2 在同一文档中,且不会为相同的节点)解答:function commonParentNode(oNode1, oNode2) { if(oNode1.contains(oNode2)){ return oNode1; }else{ return commonParentNode(oNode1.parentNode,oNode2);转载 2021-04-23 15:52:53 · 120 阅读 · 0 评论