周末去一家公司面试,面试官给出了几道题。如下:
1:
url解析
考虑用 字符串的split方法。
代码如下:
url切割
输入: http://www.baidu.com?a=1&b=2
输出: {a:1,b:2}
直接切割
function getPara(url){
var temp = {};
var res = url.split('?')[1];
var paras = res.split('&');
for(var i=0;i<paras.length;i++){
var currRs = paras[i].split('=');
var key = currRs[0];
var value = currRs[1];
temp[key]= value;
}
return temp ;
}
2: 关键词替换
var desc = 'this is {name} , {age}';
var man = {name:'lwyue',age:13};
代码如下:
function replaceKeyByObj(a ,b){
var startSearch = 0 ; //起始搜索位置
var start =0,end=0;//起始位置
var lastRs = '';
while(startSearch<b.length){
start = b.indexOf('{',startSearch) ,
end =b.indexOf('}',startSearch) ;//结束搜索位置
if(start!=-1 && end!=-1){
lastRs += b.substring(startSearch,start)
var key = b.substring(start+1,end);
if(a[key]){
lastRs +=a[key];
} else{
lastRs +='{'+key+'}';
}
startSearch = end+1 ;
}else {
lastRs += b.substring(startSearch);
startSearch = b.length;
} ;
}
return lastRs ;
}
3: 数组去重
1:两遍遍历的方法
Array.prototype.stripe = function(){
for(var i=0;i<this.length;i++){
for(var j=i+1;j<this.length;j++){
if(this[i]===this[j]){
this.splice(j,1);
j--;
}
}
}
}
2:转换为对象,用时间复杂度为o(n)时间处理,但是由于 js对象的toString方法,为[object object],导致对象均无法分辨, 此方法对对象无效。
主要是将值变为对象的索引。value-> key值的一次转换。
Array.prototype.stripe = function(){
var temp = {};//创建临时对象
for(var i=0;i<this.length;i++){
if(!temp[this[i]+0]){
temp[this[i]+0] = true;//标记
}else {
this.splice(i,1);
i--;
}
}
}
有局限性 ,只能处理基本类型,对对象类型无能为力。
相关推荐
数通HCIE RS面试题目解析 在计算机网络领域,HCIE(Huawei Certified Internetwork Expert)是华为公司推出的认证项目之一,旨在评估网络工程师的技术能力和实践经验。HCIE RS( Routing and Switching)是HCIE认证...
"C++面试题目分析" 本文档提供了17道经典的C++面试题目,涵盖了C++语言的各种基础语法和算法,包括字符串处理、数字处理、数组处理等。每个题目都提供了详细的解释和参考答案,旨在帮助读者更好地理解C++语言的实现...
标题中提到的“Golang常见面试题目解析”,意味着本篇内容将会围绕Golang语言在面试中常见的题型和解答策略进行讨论。Golang,常被称为Go语言,是由Google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能...
### 北京市公务员面试题目解析 #### 题目一:救护车收费问题 **背景信息**:北京市从5月1日起,救护车使用费将采用计价器计费,取消往返全程计价的方式。这一举措引起了社会各界的不同反应。 **核心问题**:救护...
《Golang常见面试题目解析》 在Go语言(Golang)的世界里,面试是检验开发者技术功底的重要环节。这份17M的大型压缩包文件,包含了一份详尽的Golang面试题集,覆盖了从基础语法到高级特性的各个层面,是求职者准备...
软件测试面试题目分析 软件测试是一个复杂的领域, 涉及到软件开发的各个方面。 在面试中,考官通常会问一些基础知识题,以评估候选人的基本技能和知识面。 本文将对常见的软件测试面试题目进行分析, 帮助考生更好...
Go语言(又称Golang)是一种静态...总结来说,Go语言面试题目通常会考察对语言特性的理解,尤其是goroutine、channel以及字符串处理等基础知识。解决这些问题的能力反映了求职者是否具备使用Go语言进行高效编程的潜力。
ICAO面试问题解析
【香港小一面试题目解析】 面试是孩子们进入小学的一个重要环节,主要目的是评估孩子的基本能力、性格特点、家庭背景以及生活常识。以下是根据提供的面试题目分析的一些关键知识点: 1. **自我介绍与基本沟通**: ...
### 数据结构面试题目解析 1. **题目一**:“链表与数组的不同之处” - 数组是顺序存储的,访问时间复杂度为O(1),但插入删除操作可能需要移动大量元素,时间复杂度为O(n)。 - 链表是链式存储,访问时间复杂度为O...
### 毕业生经典面试题目解析 #### 面试题目一:自我介绍与兴趣爱好 - **问题概述**:请先做一个简单的自我介绍,并分享一下你的兴趣爱好。 - **解析**:这是一个非常基础但重要的面试问题。面试官通过这个问题来...
"高级Java面试题目解析" 本资源摘要信息主要围绕高级Java面试题目,涵盖了多线程、线程工具类、线程池、前端框架、数据库优化、数据库分库分表、Spring框架、Dubbo微服务、Redis持久化等多方面的知识点。 多线程...
【校外联部情景面试题目解析】 面试题目设计的目的是为了全面评估候选人的沟通能力、团队协作精神、问题解决技巧以及领导潜力。以下是针对所给面试题目的详细分析: 1. **例会出席问题**:这道题考察部长的组织...
在IT行业的面试中,经典面试题目是评估求职者技能、经验和知识深度的重要工具。这些题目通常涵盖编程语言、数据结构、算法、操作系统、数据库、网络、软件工程等多个方面。以下是一些可能出现的经典面试题目及其详细...
### 中科红旗面试题目解析 #### 1. 访问固定内存位置 在嵌入式系统开发中,访问固定内存位置是一项基本技能。面试题目要求将整型变量设置在绝对地址0x67a9,并赋值为0xaa55。解决此问题的关键在于理解类型转换...
提供的资源如"Java常见笔试、面试题目深度剖析一(未加密).exe"和"Java常见笔试,面试题目深度剖析.ppt"应包含了对这些知识点的详细解析和实例,对于复习和准备是非常有价值的。建议考生结合这些资料进行系统性学习,...
【C++/JAVA面试题目解析】 面试中,C++和JAVA是常见的技术考察点,尤其在笔试环节。这里我们分析一下提供的题目。 1. **BOOL, float, 指针变量与“零值”比较的 if 语句** - 对于BOOL类型的`flag`,正确的比较...
《世界500强面试题目及评点(上).pdf》和《世界500强面试题目及评点(下).pdf》这两份资料可能包含了具体面试题目的实例,以及对这些题目的解析和建议。通过阅读这些材料,候选人可以了解常见的面试陷阱,学习如何...