资讯专栏INFORMATION COLUMN

js判断数组中是否存在某个值

Miracle_lihb / 3867人阅读

摘要:判断数组中是否存在某个值,如果存在返回数组元素的下标,否则返回结果判断一个数组是否包含一个指定的值,如果存在返回,否则返回。

1. array.indexOf

判断数组中是否存在某个值,如果存在返回数组元素的下标,否则返回-1
let arr = ["something", "anything", "nothing", "anything"];
let index = arr.indexOf("nothing");
# 结果:2

2. array.includes(searchElement[, fromIndex])

判断一个数组是否包含一个指定的值,如果存在返回 true,否则返回false。

参数:searchElement
需要查找的元素值。

参数:thisArg(可选)
从该索引处开始查找 searchElement。如果为负值,则按升序从 array.length + fromIndex 的索引开始搜索。默认为 0。
let numbers = [12, 5, 8, 130, 44];
let result = numbers.includes(8);
# 结果: true
result = numbers.includes(118);
# 结果: false

3. array.find(callback[, thisArg])

返回数组中满足条件的第一个元素的值,如果没有,返回undefined

参数:callback
element 当前遍历到的元素。
index 当前遍历到的索引。
array 数组本身。

参数:thisArg(可选)
指定 callback 的 this 参数。
// ---------- 元素是普通字面值 ----------
let numbers = [12, 5, 8, 130, 44];
let result = numbers.find(item => {
    return item > 8;
});
# 结果: 12
// ---------- 元素是对象 ----------
let items = [
    {id: 1, name: "something"},
    {id: 2, name: "anything"},
    {id: 3, name: "nothing"},
    {id: 4, name: "anything"}
];
let item = items.find(item => {
    return item.id == 3;
});
# 结果: Object { id: 3, name: "nothing" }

4. array.findIndex(callback[, thisArg])

返回数组中满足条件的第一个元素的索引(下标), 如果没有找到,返回-1

参数:callback
element 当前遍历到的元素。
index 当前遍历到的索引。
array 数组本身。

参数:thisArg(可选)
指定 callback 的 this 参数。
// ---------- 元素是普通字面值 ----------
let numbers = [12, 5, 8, 130, 44];
let result = numbers.findIndex(item => {
    return item > 8;
});
# 结果: 0
// ---------- 元素是对象 ----------
let items = [
    {id: 1, name: "something"},
    {id: 2, name: "anything"},
    {id: 3, name: "nothing"},
    {id: 4, name: "anything"}
];
let index = items.findIndex(item => {
    return item.id == 3;
});
# 结果: 2

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/94001.html

相关文章

  • <<编写可维护的javascript>> 笔记8(避免'空比较&#

    摘要:中常常会看到这种代码变量与的比较这种用法很有问题用来判断变量是否被赋予了一个合理的值比如不好的写法执行一些逻辑这段代码中方法显然是希望是一个数组因为我们看到的拥有和这段代码的意图非常明显如果参数不是一个数组则停止接下来的操作这种写法的问题在 js中, 常常会看到这种代码: 变量与null的比较(这种用法很有问题), 用来判断变量是否被赋予了一个合理的值. 比如: const Contr...

    young.li 评论0 收藏0
  • js数据类型及类型检测

    摘要:使用的构造函数是,它只为新对象定义了默认的属性和方法。如果网页中包含多个框架,那实际上就存在多个不同的全局执行环境,从而存在多个不同版本的构造函数。每个类在内部都有一个属性,这个属性中就指定了上述字符串中的构造函数。 js中常见的用于类型判断的操作符或属性有:typeof、instanceof、prototype。下面我们就来看看他们是如何判断数据类型的。 一.js数据类型 ECMAs...

    Kyxy 评论0 收藏0
  • JS判断数组的六种方法详解

    摘要:对象构造函数的判断用法的每个实例都有构造函数,用于保存着用于创建当前对象的函数如上所示,的实例的跟对象是相等的那么我们就可以用此来判断数组了原型链上的用法属性表示构造函数的原型其中有一个方法是用于测试一个对象是否存在于另一个对象的原型链上。 在JS中,数组是属于Object类型的,也就是属于引用类型(引用类型存放在堆内存中,在栈内存会有一个或者多个地址来指向这个堆内存)。 所以对于引用...

    xiaoxiaozi 评论0 收藏0
  • Js数组处理方式整理

    摘要:它的参数是一个回调函数,数组中的每一个成员依次执行这个回调函数。颠倒数组中元素的顺序。该参数是数组片断结束处的数组下标。会改变原数组必需。整数,规定添加删除项目的位置,使用负数可从数组结尾处规定位置。把数组转换为本地数组,并返回结果。 数组的转化 Array.from将类似数组的对象和可遍历的对象转为真正的数组 var arr1 = Array.from(arrayLikeObj); ...

    SKYZACK 评论0 收藏0
  • JS篇」你不知道的 JS 知识点总结(一)

    摘要:调用栈就是为了到达当前执行位置所调用到的所用函数。方法测试是否至少有一个元素通过由提供的函数实现的测试返回值是终止。然而,如果存在于原型链上层,赋值语句的行为就会有些不同而且可能很出人意料。 typeof null 为 object 解释 不同的对象在底层都表示为二进制,在JavaScript中二进制前三位都为0的话会被判断为object类型,null 的二进制表示都是0,自然前三位都...

    JouyPub 评论0 收藏0

发表评论

0条评论

Miracle_lihb

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<