前端笔试题笔记:拍扁多维数组、提取URL中的参数变成对象、string的trim()函数、判断Email地址、16进制颜色转rgb
来源:互联网 发布:淘宝详情页关联宝贝 编辑:程序博客网 时间:2024/06/05 09:45
(1)拍扁数组
这是一个著名互联网公司今天的前端笔试题:多维数组维数不定,如[2,4,1,[2,3,4,[1,2],5,3],3,8]拍扁为[2,4,1,2,3,4,1,2,5,3,3,8]。维数不定,应该要用递归:
答案:
function flatten(arr){var arrLength=arr.length;for(var i=0;i<arrLength;i++){ if(arr[i].constructor==Array){ arr.splice(i,1,flatten(arr[i])); }}return arr;}
(2)提取URL中的参数变成对象
这也是一个互联网公司的前端笔试题,凭记忆记录,
一个URL如”http://www.taobao.com/index.php?key0=0&key1=1&key2=2…..”提取参数,输出:
{
key0:0,
key1:1,
key2:2,
…
}
答案:
function parseQueryString(ustring){ ustring=ustring.slice(ustring.indexOf("?")+1); var arr=ustring.split("&"); var result=new Object(); for(var i=0;i<arr.length;i++){ var kv=arr[i]; kvarray=kv.split("="); result[kvarray[0]]=kvarray[1]; } return result}
(3)使用js代码,实现去除前后string前后空格的trim()函数
行如“ abc”==》“abc” “abc “==>”abc”
答案:
String.prototype.trim=function(){ var result=this.replace(/^\s+|\s+$/g,""); return result; }
(4)实现一个函数,判断是否是正确的Email地址
这题就是考正则表达式的用法,Email地址如234324aabaf_adsf_dad123@qq.vip.com
所以写法应该是/^([a-zA-Z0-9_.-])+\@(([a-zA-Z0-9-])+.)+([a-zA-Z0-9]{2,4})$/
答案:
function checkEmailAddress(address){ if(/^([a-zA-Z0-9_\.\-])+\@(([a-zA-Z0-9\-])+\.)+([a-zA-Z0-9]{2,4})$/.test(address)){ return true }else{ return false }}
(5)16进制颜色转成RGB格式:
要求:#0000ff==》rgb(0,0,255)
invalid=>invalid
#G00==>#G00
答案:
var parseColor = function( val ){ var r, g, b; // 参数为RGB模式时不做进制转换,直接截取字符串即可 if( /rgb/.test(val) ){ var arr = val.match( /\d+/g ); r = parseInt( arr[0] ); g = parseInt( arr[1] ); b = parseInt( arr[2] ); } // 参数为十六进制时需要做进制转换 else if( /#/.test(val) ){ var len = val.length; // 非简写模式 #0066cc if( len === 7 ){ r = parseInt( val.slice(1, 3), 16 ); g = parseInt( val.slice(3, 5), 16 ); b = parseInt( val.slice(5), 16 ); } else if(len==4){ return val; } } else{ return val; } return "rgb("+r+","+g+","+b+")"; };
(6)编写一个随机出现任意两个数之间的整数的一个函数
要求:比如随机出现1到10之间的整数
解决办法:值=Math.floor(Math.random()*10+1);
function selectFrom(lowerValue,upperValue){ var choice=upperValue-lowerValue; return Math.floor(Maht.random()*choice+lowerValue);}
0 0
- 前端笔试题笔记:拍扁多维数组、提取URL中的参数变成对象、string的trim()函数、判断Email地址、16进制颜色转rgb
- Email地址,URL地址,电话号码提取规则
- Email地址,URL地址,电话号码提取规则
- 多维数组的指针做函数参数
- 作为函数参数的多维数组
- 作为函数参数的多维数组
- 多维数组作为函数参数的形式
- 多维数组做函数参数的退化
- 十六进制与RGB颜色值的相互转换 , 判断一个素数 , 内联函数, 面向对象
- 利用正则表达式提取html中的的Email地址
- url地址中的参数存储为对象
- 多维数组的地址
- 前端笔试题练习笔记:函数参数按照从小到大的顺序排序、数字格式化
- Email+URL的判断和自动转换函数
- 多维数组 函数参数传递
- 强化C数组作为函数参数-多维数组的本质
- php自带函数判断是否正确的email地址
- rgb颜色转16进制格式的代码
- RFID:第5章作业5-8
- hdoj 1875 畅通工程再续(最小生成树)
- Lua中字符串类型的源码实现
- C语言的学习笔记1-变量
- Interview and English(1)
- 前端笔试题笔记:拍扁多维数组、提取URL中的参数变成对象、string的trim()函数、判断Email地址、16进制颜色转rgb
- Swift 2
- Toast
- Swift 3
- adb 异常总结
- nyoj57(6174问题)
- The 13th UESTC Programming Contest Preliminary—— F - Fabricate equation
- ubuntu apache2配置详解(含虚拟主机配置方法)
- 三十分钟掌握STL