`

javascript之编程序题目

阅读更多
1. 判断两个字符串是否:字母相同切长度相同(空格不算)。
   即它们是: anagrams
   例如:
          1. "listen" 与 "silent"
          2. "this is a Tomcat" 与 "Tom has a tisict" 
	function isAnagrams(a, b){
		a = a.replace(/ /g, '').split('').sort();
		b = b.replace(/ /g, '').split('').sort();
		if(a.length != b.length)return false;
		
		var i = 0;
		for(;i<a.length;i++){
			if(a[i] != b[i]) return false;
		}
		return true;
	}
	
	var a = 'this is a Tomcat';
	var b = 'Tom has a tisict';
	isAnagrams(a,b);
	


或者是:
function isAnagrams(a, b){
    a = a.replace(/ /g, '').split('').sort().join('');  
    b = b.replace(/ /g, '').split('').sort().join('');
    return a == b;
}


更严谨一些:
function isAnagrams(a, b){
    function valid(obj){
       return toString.call(obj) === "[object String]";
    }
    function convert(str){
       return str.replace(/ /g, '').split('').sort().join(''); 
    }

    if(valid(a) && valid(b)){
		return convert(a) == convert(b);
    }
    return false;
}



注:
多记住一些 Array 和 String 的原生方法,
可以快速简洁的写出面试题。



2.  写一个add函数,可以这样调用: add(1)(2), add(1,2)



3.  写出一个字符串中某字符串出现的次数
提示: String.split()

function times(){


}


4. 打印 json object  的所有节点和子节点
提示: for(property in node )

function printNodes(){

}



5. 统计一个字符串中,某个字符串出现的 index

    方法一:
    使用:
           String.prototype.indexOf(searchValue)
           String.prototype.substr(start)

function getIndexList1(str, pattern){
    var arrlist = [];
    var index = str.indexOf(pattern);
    var last = 0;       
    while(index != -1 && str.length > 0){
        arrlist.push(last + index);
        var subIndex = index + pattern.length;
        last += subIndex;
        str = str.substr(subIndex);
        index = str.indexOf(pattern);
    }
    return arrlist;
}



    方法二:
    使用:
           String.prototype.indexOf(searchValue[, fromIndex])

function getIndexList2(str, pattern){
    var arrlist = [];
    var index = str.indexOf(pattern);
    while(index > 0){
        arrlist.push(index);
        index = str.indexOf(pattern, arrlist[arrlist.length-1] + pattern.length);
    }
    return arrlist;
}



对比:不够简洁的代码(注意 if 和 while 的用法)

function getIndexList(str, pattern){
    var arrlist = [];
    var index = str.indexOf(pattern,arrlist[arrlist.length-1]);
    if(index > 0) {
        arrlist.push(index);
        while(index > 0){
            index = str.indexOf(pattern,arrlist[arrlist.length-1]+ pattern.length);
            if(index > 0)arrlist.push(index);
        }
    }
    return arrlist;
}



    方法三:使用 Regular Expression

    正则表达式在 JavaScript 中也是对象的一种。它可以用在:

    1) RegExp 对象的 test(), exec() 方法中
    2) String 对象的 match(), replace(), search(), split() 方法中

    

function getIndexList(str, pattern){
    var arrlist = [];
    var myRe = new RegExp(pattern,'g');
    var result;
    while ((result = myRe.exec(str)) !== null) {
        arrlist.push(result.index);
    }
    return arrlist;
}



























-
转载请注明:
原文出处: http://lixh1986.iteye.com/blog/2335628





-


分享到:
评论

相关推荐

    自编数独解谜助手HTML+Javascript

    最近写的Javascript代码,可以通过几种算法推理出高难度以下的数独,更高难度的可以通过尝试法解出。 使用说明: 1.本程序主要用于展示如何一步步的解谜数独,并给出解谜根据; 2.勾选“逐个提示”,可顺序显示...

    Javascript基础教程

    虽然题目中的部分内容提到本教程主要关注基础知识,但在实际应用中,了解JavaScript的高级概念同样重要,例如: **对象模型:** - **DOM(Document Object Model):** 一种用于表示和操作文档结构的标准接口。 - *...

    SSH考试题目面试题目借鉴.pdf

    - **Spring**:提供依赖注入(DI)和面向切面编程(AOP)功能,管理应用程序的各个组件,包括事务管理和数据库事务控制。 2. **环境配置**: - 使用**Eclipse 3.2**作为开发环境,集成SSH框架,进行代码编写和...

    base64,java与JavaScript实现

    在Java 8及以上版本中,标准库中提供了Base64的编解码支持,这使得Base64的操作变得非常简单。 **代码结构** 项目的目录结构如下: ``` src/ ├─ main/ │ ├─ java/ │ │ └─ org/ │ │ └─ crypto/ │ │...

    在线查询网课题目答案PHP源码

    【在线查询网课题目答案PHP源码】是一个用于网课答案查询的PHP应用程序,它提供了在Web环境中查找课程作业和测试问题答案的功能。这个源码是开发者为了方便学生或者教育工作者快速搭建一个在线答疑平台而设计的。...

    2022年广州大学拟定题目-202111201

    【低代码开发研究之资源管理可视化编排】 低代码开发降低了开发门槛,本课题关注资源管理界面的快速生成和调整: 1. 实体资源管理:通过Excel定义字段,一键生成管理界面。 2. 可视化编排:调整字段、操作和表单...

    《面向对象程序设计》课程设计任务书

    #### 设计题目概述 本次课程设计的任务是开发一个基于Web的新闻发布系统。系统采用的技术栈包括MyEclipse作为开发环境、JSP作为前端技术以及数据库用于数据存储。系统分为两个主要角色:普通用户和系统管理员,每个...

    计算机科学与技术毕业论文参考题目.pdf

    4. **多媒体同步实时授课系统**:涉及网络传输、多线程编程、音视频编解码技术,可能需要了解RTSP或WebRTC等实时通信协议。 5. **基于Web的远程测控制系统**:需要掌握Web服务器编程、物联网技术、设备控制接口,...

    2021-2022计算机二级等级考试试题及答案No.3053.docx

    - **题目解析**:题目中的选项C (JavaScript) 是一种典型的解释型语言,可以在浏览器等环境中直接执行。 ### 2. 逻辑表达式构造 - **知识点**:逻辑表达式的构建用于判断条件是否成立,常见的逻辑运算符有`&&`...

    华为机试108题源码(题目&&解答)

    108题中有部分题目重合,因此么有收录在压缩文件中。 华为机试 ├─001 字符串最后一个单词长度 │ └─Source ├─002 计算字符个数 │ └─Source ├─003 明明的随机数 │ └─Source ├─004 字符串分隔 │ └─...

    山东省第六届ACM大学生程序设计竞赛web服务.zip

    【描述】:“山东省第六届ACM大学生程序设计竞赛web服务.zip”表明这个压缩包中的内容可能包含了该竞赛中关于Web服务的题目、样例代码、解题指南或参赛队伍的作品。Web服务是互联网上应用程序之间交互的一种方式,...

    一些前端学习过程的自测练习题(JS练习第三题代码)

    【标题】中的“一些前端学习过程的自测练习题(JS练习第三题代码)”表明这是一个关于前端开发,特别是JavaScript的实践题目集。这通常包括一系列的问题或挑战,旨在帮助学习者巩固和提升他们的JavaScript编程技能。...

    程序中遗留的的缺陷与已检测初的成正比,释疑

    根据题目中的描述,我们可以假设程序中出现缺陷的概率为a,程序代码的数量为b,那么程序中缺陷的代码数量可表示为ab。进一步假设某个测试工具能够检测出缺陷的概率为k,则该工具能够检测出的缺陷代码数量为abk。当...

    2021-2022计算机二级等级考试试题及答案No.11927.docx

    - **题目解析**:本题考查JavaScript中获取接近指定数字的整数的方法。 - **选项分析**: - A. `round(7.25)` 不是标准方法。 - B. `rnd(7.25)` 不是JavaScript的标准方法。 - C. `Math.round(7.25)` 是...

    javau1测试题目1.docx

    1. Java开发流程:在Java语言进行程序开发时,需要遵循的步骤包括创建项目(或工程)并编写源代码、编译源代码、运行编译后的程序。答案:d) 以上都包括。 2. System.out.println()与System.out.print():这两个...

Global site tag (gtag.js) - Google Analytics