我需要与Underscore的find基本相同的功能但结果是元素的索引(而不是元素本身)。据我所知,Underscore的indexOf寻找一个值而不是一个函数。jQuery的inArray同样的问题功能。我想到了以下实现,但我不确定它是否最有效:functionmyIndexOf(arr,filter){varindex;$.each(arr,function(i,elt){if(filter(elt)){index=i;returnfalse;}});returnindex;} 最佳答案 _.findIndex在Lo-Dash中
代码:functionshowlayer(name){varsize=js_array.lengthvarindex=js_array.indexOf(name);varplusOne=js_array[index+1];document.write(""+name+""+js_array+""+index+""+plusOne+"")...}输出:301300,299,301,290,303,304,302,310,291,306,308,305,307,292,294,295,309-1300name的所有可能值都在数组中,但由于某些原因indexOf()永远找不到它们。怎么了?
给定这两个字符串:varfirst='dog,cat,lion';varsecond='cat';我如何才能知道第二个变量是否是第一个变量中的任何单词(用逗号分隔的单词)? 最佳答案 你可以使用Array.indexOf:if(first.split(',').indexOf(second)>-1){//found}需要IE8-支持?使用垫片:https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Array/indexOf
我有一个基于Javascript的机器人,用于Xat聊天室,它也充当AI。我最近决定重做它的AI部分,因为它变成了绝对庞大的elseif语句链,几乎无法使用。我做了一些研究并想出了一个关于如何处理响应的新想法。我先给你代码段:functionmsgSwitch(id,msgRes){varbotResponse=[];switch(msgRes){case(msgRes.indexOf("hi")!=-1):botResponse.push("HELLO.");case(msgRes.indexOf("howareyou")!=-1):botResponse.push("IAMFINE
这个问题在这里已经有了答案:关闭10年前。PossibleDuplicate:.indexOffunctiononanarraynotworkinginIE7/8usingJavaScript我正在为IE7开发,在使用javascript函数indexOf时遇到了一些问题。浏览一些网站后,我了解到IE7不支持indexOf。这是否正确?如果正确,检查字符串是否包含给定字符串的最简单方法是什么?vartest=window.location.toString();test=test.toLowerCase();varidString="28A3CASDGAGHTSDASF34134";i
我目前正在使用str.indexOf("word")在字符串中查找单词。但问题是它还返回其他单词的部分内容。示例:“我去了foobar并订购了foo。”我想要单个单词“foo”的第一个索引,而不是foobar中的foo。我无法搜索“foo”,因为有时它后面可能会跟一个句点或逗号(任何非字母数字字符)。 最佳答案 你必须为此使用正则表达式:>'Iwenttothefoobarandorderedfoo.'.indexOf('foo')14>'Iwenttothefoobarandorderedfoo.'.search(/\bfoo\b
我想要一个简单的值数组,即varsimpleArray=["SE1","SE2","SE3"];我想在一个Action发生时检查这个数组(点击谷歌地图图层),这会将一个值传递给这个函数并将该值添加到数组中,或者如果它已经存在则从数组中删除它.看到.splice/push/inArray/indexOf(在IE中不起作用)/grep(jQuery),我现在有点困惑-不确定最佳实践是什么。 最佳答案 假设项目的顺序无关紧要,您可以这样做:functiontoggleArrayItem(a,v){vari=a.indexOf(v);if(
我有一个字符串,我需要修复它以便将它追加到查询中。假设我有字符串“ABasketForEveryOccasion”,我希望它是“A-Basket-For-Every-Occasion”我需要找到一个空格并将其替换为连字符。然后,我需要检查字符串中是否还有另一个空格。如果不是,则返回固定字符串。如果是这样,请再次运行相同的过程。对我来说听起来像是一个递归函数,但我不确定如何设置它。任何帮助将不胜感激。 最佳答案 您可以像这样使用正则表达式替换:varstr="ABasketForEveryOccasion";str=str.repla
用例我有一组从REST请求返回的对象。Angular自动使用$$hashKey填充每个元素。问题是,当我在该数组中搜索没有$$hashKey的对象时,它会返回-1。这是有道理的。不幸的是,我不知道$$hashKey的值。问题有没有一种更有效的方法可以在AngularJS中从REST请求返回的对象集合中搜索对象,而无需删除$$hashKey属性?代码functionarrayObjectIndexOf(arr,obj){varregex=/,?"\$\$hashKey":".*?",?/;varsearch=JSON.stringify(obj).replace(regex,'');co
NodeList没有indexOf(element)方法?那么,如何获取元素索引呢? 最佳答案 你可以像这样使用Array.prototype.indexOf.call()letnodes=document.getElementsByTagName('*');Array.prototype.indexOf.call(nodes,document.body); 关于javascript-如何在javascript中获取元素的索引?,我们在StackOverflow上找到一个类似的问题: