实现indexOf】的更多相关文章

这是我在面试大公司时碰到的一个笔试题,当时自己云里雾里的胡写了一番,回头也曾思考过,最终没实现也就不了了之了. 昨天看到有网友说面试中也碰到过这个问题,我就重新思考了这个问题的实现方法. 对于想进大公司的童鞋,我想多说两句,基础知识真的很关键.平时在工作中也深刻体会到,没有扎实的基础知识,简单问题容易复杂化. 因为存在 indexOf 的方法,所以自定义方法写成 indexof ,方便对比. 对于 Array.indexof() 方法的实现,主要考察的就是原型继承的知识. 通过 Array.pr…
1,map,对数组的每个元素进行一定操作,返回一个新的数组. var oldArr = [{first_name:"Colin",last_name:"Toh"},{first_name:"Addy",last_name:"Osmani"},{first_name:"Yehuda",last_name:"Katz"}]; function getNewArr () { return ol…
在js中,可以说万物皆对象(object),一个数组也是一个对象(array). 很多对象都有很多很方便的方法 比如数组的push,concat,slice等等,但是如果一些对象,它没有实现这些方法,我们还是想使用这些功能.那该怎么办呢? 1.很多方法都提供了非常高效的实现, 我们可以仿照它们的实现. 比如IE8以下的浏览器不支持Array的indexOf方法,为了让数组支持indexOf,我们可以自己写一个方法,实现indexOf方法: (用IE浏览器调试 按F12,可以选择浏览器版本到IE5…
背景 最近在看Redux源码,createStore用于注册一个全局store,其内部维护一个Listeren数组,存放state变化时所有的响应函数. 其中store.subscribe(listener)用于注册一个listener,同时返回一个unsubscribe方法,用于注销当前注册的listener. 源码中查询listener索引时用到了Array.indexOf方法,如下: 一直用indexOf做值类型数组的查询,故对于此种情况记录下 Array.prototype.indexO…
public int indexof(String str)返回字符串中出现str的第一个位置 public int indexof(String str,int fromIndex)返回字符串中从fromIndex开始出现str的第一个位置 public String substring(int beginIndex)返回从beginIndex开始的字符串 public String lastIndexOf(String str)返回从str最后一次出现的位置 如: String pexfix…
第一组:str.substr(start,length) 和 str.substring(start,end) 定义: str.substr(start,length) substr(start,length)表示从start位置开始,截取length长度的字符串. var src="images/off_1.png"; alert(src.substr(3,7)); 弹出值为:ges/off str.substring(start,end) substring(start,end)表…
这篇随笔根据两个面试题来实战一下数组.字符串的一些方法. 题一:一个字符串中找出出现次数最多的字符次数 var str = 'fuuhuhuhufaihuhfnkjNKCNIO';
 function num(str) { var json = {}; for (var i = 0; i < str.length; i++){ //字符串的charAt()方法返回指定位置的字符串 if(!json[str.charAt(i)]){//若json对象中没有当前属性,则给当前属性赋值为1 json[…
1.indexOf() 该方法用来返回某个指定的字符串值在字符串中首次出现的位置. 语法:indexOf(searchvalue,fromindex);两个参数,参数一表示查询的字符串值,参数二可选表示开始查询的起始位置,若不写默认从首字符开始查询 var string = "abcdeADhu390u09"; console.log(string.indexOf("d"));//3 注意下标值从0开始 console.log(string.indexOf(&quo…
indexOf() 方法返回指定值在字符串对象中首次出现的位置.从 fromIndex 位置开始查找,如果不存在,则返回 -1. 首先先看下MDN下的参考文档,文档里列出的很详细,这里我只列出了注意点: 1)String对象下的方法 语法: str.indexOf(searchValue[, fromIndex]) 区分大小写: indexOf 方法区分大小写.例如,下面的表达式返回 -1: "Blue Whale".indexOf("blue") // retur…
关于string的效率,众所周知的恐怕是“+”和StringBuilder了,这些本文就不在赘述了.关于本文,请先回答以下问题(假设都是基于多次循环反复调用的情况下):1.使用Insert与Format方法,哪个效率更高?2.Contains(value)与IndexOf(value)谁效率更高? 假如您对此2问不感兴趣或已非常了解,请忽略此文.另外本文将不对文中代码的实际用途做任何解释. <一> 首先看以下的使用场景 string str1 = "abc"; "…
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Test2 { class Program { static void Main(string[] args) { // //1.indexof() :在字符串中从前向后查找某个字符,如找到就输出位置,如没找到则为 - 1 //string tes…
indexOf() 方法可返回某个指定的字符串值在字符串中首次出现的位置. lastIndexOf() 方法可返回一个指定的字符串值最后出现的位置,在一个字符串中的指定位置从后向前搜索. 语法: indexOf() :       stringObject.indexOf(searchvalue,fromindex) lastIndexOf() : stringObject.lastIndexOf(searchvalue,fromindex) 参数 描述 searchvalue 必需.规定需检索…
let arr = ['orange', '2016', '2016']; arr.indexOf('orange'); //0 arr.indexOf('o'); //-1 arr.indexOf('2016'); //1 arr.indexOf(2016); //-1 用来判断数组是否包含某个元素项目 arr.indexOf('orange') 输出 0 因为 'orange' 是数组的第 0 个元素,匹配到并返回下标. arr.indexOf('o') 输出 -1 因为此方法不会在每一个元…
今天在网上看到一篇帖子,如题: 出处:前端开发博客 (http://caibaojian.com/5-array-methods.html) 在ES5中一共有9个Array方法,分别是: Array.prototype.indexOf Array.prototype.lastIndexOf Array.prototype.every Array.prototype.some Array.prototype.forEach Array.prototype.map Array.prototype.f…
一.字符串的IndexOf()方法: (括号里的为子字符串) 搜索在该字符串上是否出现了作为参数传递的子字符串,如果找到子字符串,则返回子字符串在该字符串上出现的起始位置 (0表示第一个字符,1表示第二个字符依此类推)如果说没有找到则返回 -1. var str="Hello world!" document.write(str.indexOf("Hello") + "<br />") document.write(str.index…
1.substr substr(start,length)表示从start位置开始,截取length长度的字符串. var src="images/off_1.png";alert(src.substr(7,3)); 弹出值为:off 2.substring substring(start,end)表示从start到end之间的字符串,包括start位置的字符但是不包括end位置的字符. var src="images/off_1.png";alert(src.su…
if (!Array.indexOf) {                                    Array.indexOf = function (obj) {                                        for (var i = 0; i < this.length; i++) {                                            if (this[i] == obj) {                 …
var  questionId = []; var anSwerIdValue = []; ////javascript数组扩展indexOf()方法 Array.prototype.indexOf = function (e) { for (var i = 0, j; j = this[i]; i++) { if (j.indexOf(e) != -1) { return i; } } return -1; } if (anSwerIdValue.length < 14) { alert(&quo…
一.charAt(index) 返回一个字符串某一个索引的字符. 语法:str.charAt(index); var str='我是中国人'; console.log(str.charAt(3));//输出"国",索引号从0开始,传入数字3,就是获取索引为3的字符 二.indexOf("str") 获取某个字符第一次在字符串上的索引号,找不到当前字符的输出-1; 语法:str.indexOf("str") ; var str='我是中国人'; c…
String.indexOf的模拟实现,没想象中有多么高深的查找算法,就是最普通的遍历查找 思路:先找到第一个相同的字符,然后依次比较后面的字符,若都相等则表示查找成功 /** * 查找字符串pattern在str中第一次出现的位置 * @param str * @param pattern * @return */ public int firstIndexOf(String str, String pattern) { for (int i = 0; i < (str.length() -…
通常情况下,我们判断一个字符串中是否存在某值常常会用string.contains,其实判断一个字符串中存在某值的方法有很多种,最常用的就是前述所说的string.contains,相对来说比较常用的还有string.IndexOf和Regex.Match.直接上代码,后面在说些什么吧,通常情况下功能的实现最重要,作者的话,只对有心者有效. using System; using System.Collections.Generic; using System.Linq; using Syste…
一.i++与++i的区别 1 var i=0;3 console.log(i++)5 0 1 var j=0; 2 3 console.log(++j) 4 1 a=++i;相当于i=i+1;a=i; a=i++;相当于a=i;i=i+1; 二.Math.max var arr=[1,3,4,45,5,6,6,7] undefined Math.max(arr[0],arr[1],arr[2],arr[3],arr[4],arr[5],arr[6],arr[7]) 45 Math.max.cal…
some if (!Array.prototype.some){ Array.prototype.some = function(fun /*, thisArg */) { 'use strict'; if (this === void 0 || this === null) throw new TypeError(); var t = Object(this); var len = t.length >>> 0; if (typeof fun !== 'function') throw…
 indexOf()方法  indexOf()方法返回在该数组中第一个找到的元素位置,如果它不存在则返回-1. 不使用indexOf时 var arr = ['apple','orange','pear'], found = false; for(var i= 0, l = arr.length; i< l; i++){ if(arr[i] === 'orange'){ found = true; } } console.log("found:",found); 使用后 var…
数组的方法 Array.map(); 栗子: var a=[1,2,,3]; var b=a.map( function(value){return value*value} ); alert(b); //[1,4,,9] 参数是一个函数,有返回值 返回值是一个新数组,函数调用原数组的每个元素进行函数格式化,空元素还存在. 数组的Array.every() 每一项都是真才是真;相似于&& Array.some() 某一个是真就是真:类似于|| 当验证一个空数组时: var a=[]; va…
函数:split() 功能:使用一个指定的分隔符把一个字符串分割存储到数组例子: var theString=”jpg|bmp|gif|ico|png”; var arr=theString.split(”|”); //arr是一个包含字符值”jpg”.”bmp”.”gif”.”ico”和”png”的数组 函数:John() 功能:使用您选择的分隔符将一个数组合并为一个字符串例子: var delimitedString=myArray.join(delimiter); var myList=n…
//此方法是数组的indexof属性不支持特此增加此段代码 if (!Array.prototype.indexOf) { Array.prototype.indexOf = function(elt /*, from*/) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0)? Math.ceil(from): Math.floor(from); if (fro…
/* 终于解决了IE8不支持数组的indexOf方法 */ if (!Array.prototype.indexOf) { Array.prototype.indexOf = function (elt /*, from*/) { var len = this.length >>> 0; var from = Number(arguments[1]) || 0; from = (from < 0) ? Math.ceil(from) : Math.floor(from); if (…
if (e.Value.Error.Message.IndexOf("authentication failed") > -1)   {      strFailMessage = "邮件发送失败 : 此邮箱认证失败(帐号密码不匹配),请在修正后重新尝试.";    }   indexof>-1 判断字符串中是否包含某字符串 indexof=-1 字符串中不包含某字符串…
arr.indexOf(searchElement[, fromIndex = 0]) Array.prototype.indexOf()…