首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

类型-/JavaScript- array.indexOf始终返回-1

JavaScript中的array.indexOf()方法用于查找数组中指定元素的索引位置。如果找到了该元素,则返回其在数组中的索引值;如果未找到,则返回-1。

array.indexOf()方法的语法如下:

代码语言:txt
复制
array.indexOf(searchElement[, fromIndex])

参数说明:

  • searchElement:要查找的元素。
  • fromIndex(可选):指定开始查找的位置。如果省略该参数,则从数组的起始位置开始查找。如果该参数为负数,则从数组末尾的指定位置开始查找。

返回值:

  • 如果找到了指定元素,则返回其在数组中的索引值。
  • 如果未找到指定元素,则返回-1。

该方法常用于判断数组中是否包含某个元素。如果返回值为-1,则表示数组中不包含该元素;否则,返回的索引值可以用于进一步操作该元素。

示例代码:

代码语言:txt
复制
const fruits = ['apple', 'banana', 'orange', 'grape'];
console.log(fruits.indexOf('banana'));  // 输出: 1
console.log(fruits.indexOf('watermelon'));  // 输出: -1

array.indexOf()方法的应用场景包括但不限于:

  • 判断数组中是否包含某个元素。
  • 根据元素的索引值进行数组操作,如删除、替换等。
  • 判断数组中重复元素的位置。

腾讯云相关产品和产品介绍链接地址:

  • 云服务器(CVM):提供可扩展的计算容量,支持多种操作系统,满足不同业务需求。产品介绍链接
  • 云数据库 MySQL 版(CDB):提供高性能、可扩展的 MySQL 数据库服务,支持自动备份、容灾等功能。产品介绍链接
  • 云存储(COS):提供安全、稳定、低成本的对象存储服务,适用于图片、视频、文档等各类数据的存储和管理。产品介绍链接
  • 人工智能开放平台(AI):提供丰富的人工智能服务,包括图像识别、语音识别、自然语言处理等,帮助开发者构建智能化应用。产品介绍链接
  • 物联网开发平台(IoT):提供全面的物联网解决方案,包括设备接入、数据管理、应用开发等,支持构建智能家居、智能工厂等应用。产品介绍链接
  • 腾讯云区块链服务(TBCAS):提供高性能、安全可靠的区块链服务,支持构建去中心化应用和数字资产管理。产品介绍链接
  • 腾讯云游戏多媒体引擎(GME):提供音视频通信和处理能力,支持实时语音聊天、语音识别等功能,适用于游戏、社交等领域。产品介绍链接
  • 腾讯云移动开发平台(MTP):提供全面的移动应用开发解决方案,包括移动应用托管、推送服务、移动分析等功能。产品介绍链接
  • 腾讯云云原生应用引擎(TKE):提供容器化应用的管理和部署服务,支持快速构建、部署和运行云原生应用。产品介绍链接

以上是腾讯云提供的一些相关产品,可根据具体需求选择适合的产品进行开发和部署。

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

相关·内容

高阶Python|返回类型提示技巧 (1)

本文[1]将通过实例向您展示,如何为一个从电子邮件地址中解析出域名的函数定义多种可能的返回类型。同时,您还将学习到如何为那些接受函数作为参数或者作为回调的函数添加类型提示。...考虑使用多种返回类型的情境包括: 条件判断:当函数通过条件判断返回不同类型结果时,您可以利用类型提示来指明函数可能返回的多种类型。...可选返回值:有时函数可能不返回任何值,这时您可以用类型提示来标明偶尔的无返回值情况。 异常处理:如果函数运行中遇到错误,您可能希望返回一个特定的错误对象,这与正常返回结果的类型不同。...更进一步,您可以使用类型变量来建立可调用对象的返回类型与 apply_func() 的返回类型之间的联系。 这两种方法都仅对所讨论的函数的返回类型进行类型提示。...由于您也将 T 用作 apply_func() 的返回类型,这表明 apply_func() 的返回类型与传入的 func 函数的返回类型是一致的。

13710

Mybatis使用generatedKey在插入数据时返回自增id始终1,自增id实际返回到原对象当中的问题排查

今天在使用数据库的时候,遇到一个场景,即在插入数据完成后需要返回此数据对应的自增主键id,但是在使用Mybatis中的generatedKey且确认各项配置均正确无误的情况下,每次插入成功后,返回的都是...1,而不是最新的自增Id。...int表示的是插入操作受影响的行数,而不是指的自增长id,那么返回的自增id到底去哪里了呢?...通过下面的Debugg我们知道自增id返回到testGenKey的原对象中去了。 举例示范配置 数据库示例表  generator的配置文件 <?...DTD MyBatis Generator Configuration 1.0//EN" "http://mybatis.org/dtd/mybatis-generator-config_1_

1.7K10
  • JavaScript学习(一)

    <script type="text/javascript>表示在之间的是文本类型(text),javascript是为了告诉浏览器里面的文本是属于JavaScript...当用户点击“确定”按钮时,返回true,当用户点击“取消”按钮时,返回false。 注意:在用户点击消息对话框前,不能进行任何其它操作。...返回值: 1、点击确认按钮,文本框中的内容将作为函数返回值。 2、点击取消按钮,将返回null。 举例: var myname=prompt("请输入你的姓名:"); if(myname!...JavaScript-打开新窗口 open()方法可以查找一个已经存在或者新建的浏览器窗口。...控制类名 className属性设置或返回元素的class属性。 语法: Object.className = classname 作用: 1、获取元素的class属性。

    3.3K30

    JS 的6个不良编码习惯,现在就改掉吧!

    1.不要使用隐式类型转换 JavaScript是一种松散类型的语言。如果使用得当,这是一个好处,因为它给你带来了灵活性。...下面的示例依赖于类型的隐式转换,这种有时候会让人感到很困惑: console.log("2" + "1"); // => "21" console.log("2" - "1"); // => 1...相反,请确保变量和函数参数始终具有相同的类型,必要时使用显式类型转换。...最佳实践列表: 始终使用严格的相等运算符 ===进行比较 不要使用松散等式运算符 == 加法运算符 operand1+operand2:两个操作数应该是数字或字符串(这里我在给前端写接口时候,使用过一个字符串...我从来不喜欢使用 array.indexOf(item)!==-1来检查。 ES6 及以后版本的功能要强大得多,可以使用新的语言特性安全地重构许多技巧。 ?

    1K10

    5 个 JS 不良编码习惯,你占几个呢

    1.不要使用隐式类型转换 JavaScript是一种松散类型的语言。 如果使用得当,这是一个好处,因为它给你带来了灵活性。...相反,请确保变量和函数参数始终具有相同的类型,必要时使用显式类型转换。...最佳实践列表: 始终使用严格的相等运算符===进行比较 不要使用松散等式运算符== 加法运算符 operand1 + operand2:两个操作数应该是数字或字符串 算术运算符 - * /%**:两个操作数都应该是数字...我从来不喜欢使用array.indexOf(item)!== -1来检查。 ES6 及以后版本的功能要强大得多,可以使用新的语言特性安全地重构许多技巧。...ES6 中可以使用 array.includes(item) 来代替 array.indexOf(item) !== -1 3.

    55050

    js 的5个不良编码习惯,现在就改掉吧

    1.不要使用隐式类型转换 JavaScript是一种松散类型的语言。 如果使用得当,这是一个好处,因为它给你带来了灵活性。...相反,请确保变量和函数参数始终具有相同的类型,必要时使用显式类型转换。...最佳实践列表: 始终使用严格的相等运算符===进行比较 不要使用松散等式运算符== 加法运算符 operand1 + operand2:两个操作数应该是数字或字符串 算术运算符 - * /%**:两个操作数都应该是数字...我从来不喜欢使用array.indexOf(item)!== -1来检查。 ES6 及以后版本的功能要强大得多,可以使用新的语言特性安全地重构许多技巧。 ?...ES6 中可以使用 array.includes(item) 来代替 array.indexOf(item) !== -1 3.

    85330

    数组还是HashSet?

    大家肯定想都不用想,都选使用HashSet,毕竟HashSet的时间复杂度是O(1),但是后面又附加了一个条件: 这个集合的元素很少,就4-5个。..."); [Benchmark] public bool HashSetContains() => _hashSet.Contains("8192"); } 大家猜猜结果怎么样,就算Size只为1,...刚刚我们是引用类型的比较,那值类型怎么样?结论就是一样的结果,就算只有1个元素也比数组的Contains快。 那么问题出在哪里?...会比for更快: 至于为什么在元素多的情况Array.IndexOf会比for更快,那是因为Array.IndexOf底层使用了SIMD来优化,在之前的文章中,我们多次提到了SIMD,这里就不赘述了。...16-32个元素的场景,速度最快是HashSet然后是Array.IndexOf、for、IEnumerable.Contains。

    31200

    ES6 中的 Set

    作者:kurtshen ES6 新增了几种集合类型,本文主要介绍Set以及其使用。 其基本描述为: Set对象是值的集合,你可以按照插入的顺序迭代它的元素。...has(value):返回一个布尔值,表示参数是否为Set的成员。 clear():清除所有成员,没有返回值。...keys() :返回一个键名的遍历器 values() :返回一个值的遍历器 entries() :返回一个键值对的遍历器 forEach():使用回调函数遍历每个成员 例子 先借用之前看过的一篇英文blog...-1,则数组的splice会从末尾往前,移除了最后一个元素,于是我们会这么写 function remove(array, element) { const index = array.indexOf..., array) { return array.indexOf(item, index + 1) === -1; }); arr_unique;//["1", 3, 2, 5, 4, 1] 或者利用对象

    1.9K00

    写一个去除数组中重复元素的函数

    1.使用ES6的Set数据结构 Set是一种只存储唯一值的数据结构,因此任何重复的元素都会被自动忽略。然后,我们使用扩展运算符…将Set对象转换回数组,并返回这个新的数组。...拓展一下‍♀️ indexOf() indexOf() 是 JavaScript 数组(Array)对象的一个方法,它用于返回在数组中可以找到给定元素的第一个索引,如果不存在,则返回 -1。...如果该索引值大于或等于数组长度,则返回 -1,即数组不会被搜索。如果为负值,则将其作为从数组末尾开始的偏移量。即使该值为负数,它仍然从前往后搜索。如果省略该参数,则整个数组都会被搜索。...下面是一个使用 indexOf() 方法的例子: const array = [2, 5, 9, 1]; const index = array.indexOf(9); console.log...1 const fromIndexIndex = array.indexOf(2, 3); console.log(fromIndexIndex); // 输出: -1(因为从索引 3 开始查找

    11510

    JS中数组去重的几种方法分享

    给定一个数组,去除重复项 var arr= [1,2,2,4,null,null,'3','abc',3,5,4,1,2,2,4,null,null,'3','abc',3,5,4] Array.indexOf...该方法遍历数组,查找有无对应元素并返回元素第一次出现的索引,未找到指定元素则返回 -1。...] = item } // arr: [1, 2, 4, null, "3", "abc", 3, 5] Array.filter + Array.indexOf filter() 方法:创建一个新数组...类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。 set方法设置键名key对应的键值为value,然后返回整个 Map 结构。...get方法读取key对应的键值,如果找不到key,返回undefined。 has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。

    99630

    JavaScript array对象

    1、 undefined和null没有valueOf()方法,使用会报错; 2、 布尔类型true和false会返回原值; 3、 字符串类型返回原值; 4、 数字: 如果是整数,需要用小括号将数字包起来再使用...valueOf()方法,直接在数字后面跟.valueOf()会报错; 如果是小数会返回原值; 5、 对象Object类型及自定义对象类型返回原对象(注意花括号可能会被当作代码块的问题);...6、 函数function类型返回原函数; 7、 数组Array类型返回原数组; 8、 Date对象类型返回数字(1970年11日00:00:00至现在的毫秒数); 9、 正则表达式RegExp类型返回正则对象...var array = [2, 5, 9]; array.indexOf(2); // 0 array.indexOf(7); // -1 array.indexOf(9, 2);...// 2 array.indexOf(2, -1); // -1 array.indexOf(2, -3); // 0 找出指定元素出现的所有位置 var indices = []; var array

    1.4K00

    面试常考手写代码学习技巧总结

    其实直接可以使用 arr1,arr2 来代替,能区分开就好了,别在犹豫这种事浪费时间。 2. 新变量与返回值 看完一道手写面试题,可以先看下是否需要声明新变量,需要返回的结果和结果类型等。...如果超出数组长度,则返回-1。...var array = ['abc', 'def', 'ghi','123']; console.log(array.indexOf('def')); // 1 console.log(array.indexOf...('def',-1)); // -1 此时表示从最后一个元素往后查找,因此查找失败返回-1 console.log(array.indexOf('def',-4)); // 1 由于4大于数组长度,此时将查找整个数组...,因此返回1 console.log(array.indexOf(123)); // -1, 由于是严格匹配,因此并不会匹配到字符串'123' includes 函数 includes() 方法基于ECMAScript

    1K20

    9种JS数组去重的高阶方法思路,值得借鉴

    ] = item } // arr: [1, 2, 4, null, "3", "abc", 3, 5] 3、Array.filter + Array.indexOf filter() 方法:创建一个新数组...扩展运算 }, []); // [1, 2, 4, null, "3", "abc", 3, 5] 6、Array.indexOf indexOf() 方法:返回数组中某个指定的元素位置。...该方法遍历数组,查找有无对应元素并返回元素第一次出现的索引,未找到指定元素则返回 -1。...类似于对象,也是键值对的集合,但是“键”的范围不限于字符串,各种类型的值(包括对象)都可以当作键。 set方法设置键名key对应的键值为value,然后返回整个 Map 结构。...get方法读取key对应的键值,如果找不到key,返回undefined。 has方法返回一个布尔值,表示某个键是否在当前 Map 对象之中。

    80530

    【面试题】846- 44道比较难的 JS 面试题

    parseInt("1", 0) 的结果是当作十进制来解析,返回 1;parseInt("2", 1) 的第二个参数非法,返回 NaN;parseInt("3", 2) 在二进制中,"3" 是非法字符,...规范指出,== 相等中,如果有一个操作数是布尔类型,会先把他转成数字,所以比较变成了 [0] == 1;同时规范指出如果其他类型和数字比较,会尝试把这个类型转成数字再进行宽松比较,而对象(数组也是对象)...参考资料: ES5规范:11.9.3 《你不知道的JavaScript-中卷》 15....参考资料: ES5规范:11.9.3.1 《你不知道的JavaScript-中卷》 16....参考资料: 《你不知道的JavaScript-中卷》,第四章:4.4.2 字符串和数字之间的隐式强制类型转换 17.

    66410
    领券