首页
学习
活动
专区
圈层
工具
发布

类似vlookup的函数:为什么我的indexOf不工作?

indexOf 是 JavaScript 中的一个数组方法,用于查找一个元素在数组中的位置索引。如果 indexOf 不起作用,可能是由于以下几个原因:

基础概念

  • indexOf: 这个方法返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回 -1。

可能的原因及解决方法

  1. 元素不存在于数组中:
    • 如果你查找的元素确实不在数组中,indexOf 会返回 -1。
    • 如果你查找的元素确实不在数组中,indexOf 会返回 -1。
  • 数据类型不匹配:
    • 如果数组中的元素和你查找的元素类型不一致,即使值相同,indexOf 也会返回 -1。
    • 如果数组中的元素和你查找的元素类型不一致,即使值相同,indexOf 也会返回 -1。
  • 空数组:
    • 如果数组为空,indexOf 总是返回 -1。
    • 如果数组为空,indexOf 总是返回 -1。
  • 大小写敏感:
    • 对于字符串数组,indexOf 是大小写敏感的。
    • 对于字符串数组,indexOf 是大小写敏感的。

解决方法

  • 确保元素存在于数组中: 检查你的数组是否确实包含你要查找的元素。
  • 检查数据类型: 确保查找的元素与数组中的元素类型一致。
  • 处理空数组: 在调用 indexOf 之前检查数组是否为空。
  • 注意大小写: 如果是字符串比较,确保大小写正确。

示例代码

代码语言:txt
复制
let array = [1, "1", 3, "Apple"];

// 正确使用 indexOf
console.log(array.indexOf(1)); // 输出: 0
console.log(array.indexOf("1")); // 输出: 1
console.log(array.indexOf(3)); // 输出: 2
console.log(array.indexOf("Apple")); // 输出: 3

// 错误示例
console.log(array.indexOf(4)); // 输出: -1, 因为4不在数组中
console.log(array.indexOf('apple')); // 输出: -1, 因为大小写不匹配

通过上述方法,你可以诊断并解决 indexOf 方法不工作的问题。如果问题仍然存在,可能需要进一步检查代码的其他部分是否有影响。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

python的dropna函数_Pandas dropna()函数不工作「建议收藏」

大家好,又见面了,我是你们的朋友全栈君。 我试图从pandas数据框中删除NA值。 我使用了dropna()(它应该从数据帧中删除所有NA行)。然而,它不起作用。...np prison_data = pd.read_csv(‘https://andrewshinsuke.me/docs/compas-scores-two-years.csv’) 这就是获取数据帧的方法...如下所示,默认的read_csv方法确实将NA数据点转换为np.nan。...np.isnan(prison_data.head()[‘out_custody’][4]) Out[2]: True 方便的是,DF的head()已经包含一个NaN值(在out_custody列中),...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

3.8K20

为什么我的自动化流程不执行

很多人经常会有这个问题,为什么我的自动化流程不执行。...如果你设置好了自动化流程,但是自动化流程却没有执行,请按照如下的顺序检查你的流程配置:第一步:请检查自动化流程有没有发布和上线来到【操作后台】- 【我的流程】,上线的流程会如图显示【上线】;没有上线的流程会显示灰色...我的流程第二步:请检查自动化流程是否有执行请来到后台【流程日志】,如果运行成功的流程就会显示【执行成功】并有一个【运行id】。...自动化流程执行失败第三步:确认流程是上线状态,但是流程没有执行,为什么?如果流程确认是上线状态,需要确定你的流程是否符合你设定的触发条件,如果没有达到对应的条件,是不会触发的。...,被判断了没有执行【流程执行过程中修改】:在有【延迟执行】的流程上线后,进行修改,会导致后续的流程不执行

2.3K30
  • 为什么我的递归函数返回None

    问: 我有一个调用自己的函数: def get_input(): my_var = input('Enter "a" or "b": ') if my_var !...: Type "a" or "b": a got input: a 但是,如果我输入别的东西,然后输入 "a" 或 "b",我会得到这样的结果: Type "a" or "b": purple You...Type "a" or "b": a got input: None 我不明白为什么 get_input() 函数返回的是 None,因为它本应只返回 my_var。这个 None 是从哪里来的?...我该如何修复我的函数呢? 答: 它返回 None 是因为当你递归调用它时: if my_var != "a" and my_var !...因此,尽管递归确实发生了,但返回值却被丢弃了,然后你会从函数末尾退出。在函数末尾退出意味着 Python 会隐式地返回 None,就像下面这样: >>> def f(x): ...

    1.4K10

    不找C++的工作,为什么要学习C++?

    许多学编程的认为,特别是新手会觉得:“我又不找c语言的工作,需不需要学c语言?”...,就象“我又不找C语言的工作,应不应该学c++”一样;我觉得答案不源于你做不做C++的工作,而取决于你做不做程序编程行业的工作。 事理非常简单,打个比方当你听见这样的话,估测你也知道为啥了。...这又是许多人为什么挑选语言编程的原因。其实我很想问,假如编程并不是高薪职位,还会有几个去学?因此利益熏心过重,并不是一件好事儿,它会妨碍你长得高看得远。...例如学PHP的那时候,难度系数不取决于PHP的if…else…那些语法,而取决于例如PHP的面向对象,PHP的接口,数据库的优化,服务器的负载均衡,集群技术,网络编程等等。...4:模板机制:函数模板,类模板 5:它的标准库STL里边的数据结构和算法,那些內容你关键是要了解他们有哪些实现方案,尽管不必你去写,只是你要明白来源,那样用起来才放心。

    3.1K40

    Excel公式技巧17: 使用VLOOKUP函数在多个工作表中查找相匹配的值(2)

    图3:工作表Sheet3 示例要求从这3个工作表中从左至右查找,返回Colour列中为“Red”且“Year”列为“2012”对应的Amount列中的值,如下图4所示的第7行和第11行。 ?...图4:主工作表Master 解决方案1:使用辅助列 可以适当修改上篇文章中给出的公式,使其可以处理这里的情形。首先在每个工作表数据区域的左侧插入一个辅助列,该列中的数据为连接要查找的两个列中数据。...这样,获取值的数组公式(单元格C7)如下: =VLOOKUP(A7&”|”&B7,INDIRECT("'"&INDEX(Sheets,MATCH(TRUE,COUNTIF(INDIRECT("'"&Sheets...16:使用VLOOKUP函数在多个工作表中查找相匹配的值(1)》。...D1:D10 传递到INDEX函数中作为其参数array的值: =INDEX(Sheet3!

    17.5K10

    Excel公式技巧16: 使用VLOOKUP函数在多个工作表中查找相匹配的值(1)

    在某个工作表单元格区域中查找值时,我们通常都会使用VLOOKUP函数。但是,如果在多个工作表中查找值并返回第一个相匹配的值时,可以使用VLOOKUP函数吗?本文将讲解这个技术。...B1:D10"),3,0) 其中,Sheets是定义的名称: 名称:Sheets 引用位置:={"Sheet1","Sheet2","Sheet3"} 在公式中使用的VLOOKUP函数与平常并没有什么不同...,我们首先需要确定在哪个工作表中进行查找,因此我们使用的函数应该能够操作三维单元格区域,而COUNTIF函数就可以。...2个工作表即Sheet2中执行VLOOKUP操作。...VLOOKUP函数的单元格区域,因此: =VLOOKUP($A3,INDIRECT("'"&INDEX(Sheets,MATCH(TRUE,COUNTIF(INDIRECT("'"&Sheets&"'!

    34.8K21

    为什么我把 Run 出来的 Apk 发给老板,却装不上!

    Run 的 Apk 2.1 textOnly 属性 我们知道,AS Run 起来的 Apk,会使用 Debug 签名进行签名,不过安装不上,并不是签名的问题。...这就是为什么你无法安装 Run 出来的 Debug.apk。 2.2 为什么要这么设计? 这个问题,对于大多数开发者来说,基本上不是问题。...如果你觉得那里值得改进的,请给我留言。一定会认真查询,修正不足。谢谢。 希望读到这的您能转发分享和关注一下我,以后还会更新技术干货,谢谢您的支持!...毕业3年,我是如何从年薪10W的拖拽工程师成为30W资深Android开发者! 腾讯T3大牛带你了解 2019 Android开发趋势及必备技术点!...八年Android开发,从码农到架构师分享我的技术成长之路,共勉! 最后祝大家生活愉快~

    3.4K30

    为什么我把 Run 出来的 Apk 发给老板,却装不上!

    Run 的 Apk 2.1 testOnly 属性 我们知道,AS Run 起来的 Apk,会使用 Debug 签名进行签名,不过安装不上,并不是签名的问题。...当你使用 adb install 安装 android:testOnly="true" 的包时,输出的错误信息,明确的标记了无法安装一个 TEST_ONLY 的包。...这就是为什么你无法安装 Run 出来的 Debug.apk。 2.2 为什么要这么设计? 这个问题,对于大多数开发者来说,基本上不是问题。...因为我们只要保证正常的提测、发布流程,基本上是很难将一个 Run 出来的 Apk 分享给别人的。 testOnly 只是一个标记,标记了它是一个测试的版本,其实并没有任何实质性的东西。...如果我们非要安装一个带有 testOnly 的 Apk,其实也是有办法的,否则 AS 又是如何将 Run 起来的包,安装到设备上的呢?

    3.4K00

    996的程序员们,为什么我不建议你买保险?

    996的程序员们工作强度高、压力大,一旦患病,对家庭生活质量会产生极大的威胁。 可以说,一人患上重疾,就等于一家人被判了死刑。 如何避免呢?很多人想到买保险,但我劝你不要着急买!...为此,我邀请了我的好朋友资深保险规划师杨震,请他从客观中立的角度给大家开一次讲座,全面解读保险里的陷阱,避免大家日后被坑。讲座开始前,先上一波干货,给大家分析一下日常买保险常见的各种不正确姿势。...但很多人不知道,国家早已对各大保险公司疾病进行了统一,前25种重疾病种各家保险公司定义都是相同的。 所以,我们看重的数量应该是,重疾条款中附加的轻症和中症的项目。...要不然,我们花再多钱也是白搭,更得不到风险防御的效果。 买保险的4个正确打开方式 买保险的各种不正确姿势,每天都在我们身边上演,这么深的水,怎么才能避免被坑钱呢?...其实多花很多冤枉钱 有的朋友在代理人的说服下很容易就买了一份“返还险”,认为到期了不生病还可以返还保费,像是捡了一个大便宜。 但其实,这类保险是两全型保险,在寿险的基础上附加一款重疾险。

    3.4K20

    为什么我的数据不按顺序排序原来如此 | Java Debug 笔记

    我的接口返回的数据顺序总是不固定问题描述====我在开发突发奇想。将表头信息也给查出来一并返回给前端了。但是正因为这一举动却带来嘲讽。...说我的接口顺序不对问题定位====首先说明下这个问题是刚入行时遇到的。当时很是困惑,当然啦现在看来真的是贻笑大方了。刚入行那会一直都是使用Mybatis 框架实现数据的获取的。...感觉有点排序的感觉当时为了解决问题就决定尝试一把。结果是完美的。bug解决收工回家。对应刚入行的我还是很有成就感的。时隔多年现在又重新收拾了下自己的bug。...决定一探究竟为什么LinkedHashMap 可以实现按照写入顺序排序。通过结构图我们清楚看到他是HashMap的子类。所以他的存储结构和HashMap基本上是一样的。...因为这里是Bug解析所以关于LinkedHashMap源码的东西我就不深入研究了。最终我追踪到了是其内部linkNodeLast这个方法使其具有写入顺序的特性。

    1K10

    为什么我要拒绝梦寐以求的数据科学家工作?

    作者: Admond Lee 编译: Mika 本文为 CDA 数据分析师原创作品,转载需授权 在深入探讨这个问题前,让我们退后一步,先试着回答另一个问题:为什么要成为数据科学家?...最近IBM预计,到2020年数据科学家的市场需求将飙升28%。 这些吸引人的就业前景也让许多人投入数据科学的领域。 那么你肯定会想知道:为什么我要拒绝一份数据科学家的工作呢?...然而工作描述与实际工作形成了鲜明的对比,这让我感到无比困惑。 在上一轮面试之后,我拿到了数据科学家工作的offer。在同一段时间里,我还拿到了另一家公司研究工程师的offer。...这份工作描述更加明确,实际的工作范围也符合我想做的事情。 记得我之前提到的,大多数求职者所面临的职位名称与工作性质之间的两难选择吗?最终我选择了后者。 结语 ?...如果你曾经遇到任何类似的问题,我希望你知道,陷入困境是没关系的,特别是当你刚进入数据科学领域时。 花点时间弄清楚,在你的职业生涯以及将来的生活中,你希望实现什么。

    1.2K30

    为什么我不推荐另外2种快速传几百G文件的方法!

    引言 我是@程序员小助手 Rman,昨天看到一个题目,说在两台PC之间快速传几百G的文件,有没有什么好的快的办法。 考虑到操作系统平台,有Windows,Linux,MaxOS,这些都有差异。...参看 两台电脑之间如何快速传输几百G的文件?-两台,传输,文件,电脑 ? 这里说说为什么不推荐另外2种。 一个是网络存储。...为什么不推荐,因为pandownload的被举报,开发者收监,百度的名声臭的不可救药。所以不推荐。 国外的网速,你我都是知道的。 还有一个是,软件共享。 有人说这很简单啊,局域网有QQ,不就行了?...或者用比较老的飞秋,传输起来不都是贼快吗? 可是你有没有考虑到,如果是Windows要传输给苹果笔记本,或者Linux发行版要传输给Windows,这些软件有没有跨平台的应用呢?...回答发出后,有不少网友回复说, “我直接拔下来硬盘,接到新主机上。新主机启动,挂载为新的磁盘,立马可用!” 这个也是经不起推敲的。

    3.3K10

    为什么同样的代码我就是跑不起来,同事却能跑起来?

    不知道小伙伴们有没有遇到过标题的问题,明明同样的一套代码,在自己本地就是运行不起来,或者说在本地只改了一个无关痛痒的代码,看上去人畜无害,结果就报各种乱七八糟的错误,但是同事却能运行的好好的。...这种情况下其实你们的代码版本是不一样的,并不是标题提到的一样的代码,但是很多时候自己内心会以为代码是一样的。...还有就是对方运行的效果可能是缓存数据,可以清除一下对方的缓存,maven 的缓存,浏览器的缓存等所有可能有缓存的地方,然后再次运行,确保在对方的环境下是真正的能正确的运行。 真的没改动代码吗?...还有一种情况就是自己本地的确实改动了部分代码,但是改动的地方看上去是人畜无害的,但是就是跑不起来。...总结 反正跑不起来肯定有原因,不是代码原因就是环境原因,一般经过上面几个方式的排查,都能找到问题了,如果再不行,重新查询拉取代码库也未尝不是一个方法,当然如果实在解决不了,咨询前辈也是一个很有效的方法。

    2K30

    我的神经网络不工作了!我应该做什么? 详细解读神经网络的11种常见问题

    我的建议是从一开始去适应可视化,不要只有当你的网络不工作时才开始适应,这样就能确保在你开始尝试不同的神经网络结构时,你已经检查了完整的流程。这是你能准确评估多种不同方法的唯一方式。...如果你正在进行回归,那么大多数情况下,你不希望在最后层使用任何类型的激活函数,除非你知道某些特定于你希望生成的值作为输出值。 -为什么? 再考虑一下数据值实际代表什么,以及它们在标准化之后的范围。...在它们三个中选择一个(我最喜欢的是“lecun”),一旦你的神经网络开始运作,你就可以自由地尝试,直到你找到最适合你的任务。 -为什么?...从一个有3到8层的浅层神经网络开始训练。只有当你已经有了良好的工作,并且开始研究如何提高准确度时,再开始尝试更深入的网络。 -为什么?...然后,看看那些研究类似应用程序的人们所使用的数据,并将其作为灵感。如果其他研究人员使用的数字与上面给出的数字大不相同,那么可能会有一些特定的原因解释。 -为什么?

    2K30

    踩坑经验 | 为什么不建议在power bi 写dax的时候用search函数

    12 2023-11 踩坑经验 | 为什么不建议在power bi 写dax的时候用search函数 分享一个踩坑的经验,为什么不建议大家在dax中使用search函数~ LEARN MORE 图片由通义万相绘制...没费多大的力气,就定位到了,数据本身是正确的,但是行级别安全性出现问题了。简单来说,就是返回的结果是空值。 是不是感觉很神奇?明明什么都没有改,为什么dax函数突然就报空了么?...search函数虽然好用,但是遇到这种情况真可谓是让人崩溃,毕竟一般情况下,咱也想不到另一个函数返回的值会发生变化。于是就翻车了。...然而现实中这种类似的在所有人意料之外的调整影响一直都有发生,search函数到了类似的常见中还是非常容易出问题的。 真心建议,这种用法以后还是别的,太坑了。...:AIGC相关,包括但不限于教程、使用评测 周二:数据处理技术分享、代码分享 周三:工作效率提升工具/技巧,办公自动化等 周四:读书笔记系列,分享读书心得和要点 周五:聊聊职场,包括但不限于求职面试

    55740

    OpenCV论道:为什么我的伽马校正函数只有一行?

    大家好,又见面了,我是你们的朋友全栈君。...就是提升图像的暗部细节。这与加曝处理是不一样的,加曝一般不区分图像的暗部和亮部。...奇怪的是,我在网上搜到的伽马校正函数看起来都很复杂,即便是 python 写的,也都得十几行甚至几十行,可我写的伽马校正函数只有一行。为什么会这样呢?是我理解的不对吗?...、伽马校正(gamma=2)的灰度二值化效果、伽马校正(gamma=3)的灰度二值化效果: 对于彩色图片,这个伽马校正函数依然有效。...本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

    1.4K20

    为什么不建议在外包公司长期工作及外包公司的简历怎么写

    在跳槽去其它公司的时候,如果你上一家公司是外包公司,感觉好像差了点什么似的,整个网络上的舆论环境也对外包公司颇有微词。好像在外包公司工作就如何如何一样。...我写微信公众号以来,有许多同学问过我外包公司的相关问题,我感觉许多同学并不太了解外包公司。他们中的许多人都是未毕业或刚毕业的大学生,问我外包公司要不要去之类的。...先说结论,我个人不赞同在外包公司工作,超过一年。 我认为的外包公司是这样,咱们不纠结具体的概念,就是说这个意思。外包公司其实就是接活的公司,它们多数没有自己的产品。...那么第一个问题是,你已经在外包公司工作多久了?如果不足一年,那么最好还是干满一年再说,毕竟第一年的工作经验还是完整些比较好。如果已经多于一年了,那么先辞职。再说其它。...第二个问题,外包公司用的技术,你是否已经完全掌握?其它的后端我不太懂,就说前端,外包公司也得有前端开发,也得用JS,那你是否已经熟练掌握JS?可别傻傻的觉得在外包公司里,所以就什么也不学。

    6.4K110

    Excel的匹配函数全应用

    因为主角是Vlookup函数,先介绍一下Vlookup函数的基本用法,Vlookup函数常见的用法就是精确匹配,什么是精确匹配呢,就是根据某个单元格的内容返回相应的值。...第一部分:Vlookup常见错误 本次课程不讨论拼写错误,直接和大家分享Vlookup常见错误一。第一个错误是什么呢?...工作中最常见的是空格,所以每次我拿到从数据库导出来的数据,在作分析之前,基本上第一步都是Ctrl+F,查找内容输入空格,替换成什么那里什么都不输入,这样可以把Excel表中的空格批量替换。...莫急,下面有两个函数组合嵌套来折磨你! 过了这么久,我相信各位朋友已经忘了我们最初的约定了,哦不,忘了我们最初的案例要求了。先看一下案例图片。...刚刚分享过Lookup函数和模糊匹配用法类似,他是找到和第一个参数最接近,但是小于等于他的那个数对应的返回值。

    4.2K51

    收藏 | VLOOKUP函数的这些妙用你都知道吗?

    CDA数据分析师 出品 作者:CDA明星讲师 曹鑫 编辑:Mika VLOOKUP函数是Excel中的一个纵向查找函数,它与LOOKUP函数和HLOOKUP函数属于一类函数,在工作中都有广泛应用,例如可以用来核对数据...这里我有一张表,当中包含了部门、姓名、学历、工资。这也是我们日常工作中经常会遇到的一张表。 这里我们在已知姓名的情况下,我想要得到某人的工资是多少,我们就要来看看用vlookup是怎么来写的。...跟精准匹配有所区别,但也是帮助大家来理解一下在VLOOKUP用近似匹配的时候,到底是在什么场景里面使用的,你有没有联想到自己的实际工作场景呢?...我在知道姓名的情况下,想要找到他的部门是什么。 很多同学说,你为什么不就把这个部门移到姓名后面呢? 这都是理想情况,有时候我们不是希望自己去改表的,我只是在过程中临时的用一下,这个时候我们该怎么做?...首先我要查找的姓名是在第一列,然后我要返回的第二列的值正好就是部门。我现在就把这个函数学清楚就好了。 它用的就是if函数。大写的IF,首先填进去的参数是一个大括号加0逗号1,它代表什么?

    1.5K10

    这些年,Excel不知道坑死了多少人,你有幸免吗?

    因为罗叔和你一样,不会这些函数,太复杂了。(由于罗叔年龄大了,A3B8这种考验记忆的东西对我就是毒药,很多智商无限的年轻人们是可以的,反正我是记不住。...其实,我知道你也记不住,还有多少个技巧的,只是不不好意思承认吧) 这些物件的只是反应了一个信号:复杂。而有很多是无意义的复杂。更有甚者是为了复杂而复杂。...是否有一项工作是给会用 VLOOKUP 付钱的?工作兑换的结果是工作的有商业价值的交付成果,而很多人在 Excel 的坑里还没爬出来呢。...为什么不用表格? 你为什么偏偏用函数?为什么不用透视表? 你为什么偏偏用VBA?为什么不用数据模型? 你为什么用着微软的工具,人家这么大的字写着,你为什么就是不听呢!!!...但菜刀是设计用来切菜的。 为什么不用苹果削皮器来削苹果? 为什么不用枪? 为什么不弄铅笔刀?

    2.2K10
    领券