如何用JS判断数组中是否存在某个值或者某个对象的值

 更新时间:2023年01月17日 10:47:10   作者:爱宇阳  
数组是我们编程中经常使用的的数据结构之一,在处理数组时,我们经常需要在数组中查找特定的值,下面这篇文章主要给大家介绍了关于如何用JS判断数组中是否存在某个值或者某个对象的值的相关资料,需要的朋友可以参考下

一、判断是否存在某个值     

1、Array.prototype.indexOf()

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

const beasts = ['ant', 'bison', 'camel', 'duck', 'bison'];
 
console.log(beasts.indexOf('bison'));
// expected output: 1
 
// start from index 2
console.log(beasts.indexOf('bison', 2));
// expected output: 4
 
console.log(beasts.indexOf('giraffe'));
// expected output: -1

2、Array.prototype.includes() 

includes() 方法用来判断一个数组是否包含一个指定的值,根据情况,如果包含则返回 true,否则返回 false

const array1 = [1, 2, 3];
 
console.log(array1.includes(2));
// expected output: true
 
const pets = ['cat', 'dog', 'bat'];
 
console.log(pets.includes('cat'));
// expected output: true
 
console.log(pets.includes('at'));
// expected output: false

3、Array.prototype.find()

find() 方法返回数组中满足提供的测试函数的第一个元素的值。否则返回 undefined。

const array1 = [5, 12, 8, 130, 44];
 
const found = array1.find(element => element > 10);
 
console.log(found);
// expected output: 12

4、Array.prototype.findIndex() 

findIndex()方法返回数组中满足提供的测试函数的第一个元素的索引。若没有找到对应元素则返回-1。

const array1 = [5, 12, 8, 130, 44];
 
const isLargeNumber = (element) => element > 13;
 
console.log(array1.findIndex(isLargeNumber));
// expected output: 3

二、判断是否存在对象的某个值      

1、Array.prototype.find() 同上3

const arr = [{id:1, name:'name1'}, {id:2, name:'name2'}, {id:3, name:'name3'}];
 
const res = arr.find((ev) => {
    return ev.id === 3;
});
console.log(res);
// expected output: { id: 3, name: "name3" }
 
const ret = arr.find((ev) => {
    return ev.id === 4;
});
console.log(ret);
// expected output: undefined

2、Array.prototype.findIndex() 同上4

const arr = [{id:1, name:'name1'}, {id:2, name:'name2'}, {id:3, name:'name3'}];
 
const res = arr.findIndex((ev) => {
    return ev.id === 3;
});
console.log(res);
// expected output: 2
 
const ret = arr.findIndex((ev) => {
    return ev.id === 4;
});
console.log(ret);
// expected output: -1

补充:js判断数组(数组对象)中是否存在指定的值,如果存在就删除

数组中是否存在指定值,存在就删除

var  str = ["a", "b", "c"];
    var index = str.indexOf("a");
    if(index>-1){//大于0 代表存在,
    str.splice(index,1);//存在就删除
}
console.log(str);// ["b", "c"]

数组对象中是否存在指定值(方法一),存在即删除

var searchinfo =[
                    { key: '999', name: 'zhangsan'},
                    { key: '111', name: 'lisi'},
                    { key: '222', name: 'wanger'},
                    { key: '333', name: 'apple'},
                    { key: '444', name: 'orange'},
    
                ]
for (var i = 0; i < searchinfo.length; i++) {
            if ((searchinfo[i].key).indexOf("999") > -1) {//判断key为999的对象是否存在,
                index = i;
                searchinfo.splice(index, 1);//存在即删除
            }
        }
console.log(searchinfo);

运行结果:

数组对象中是否存在指定值(方法二)

var searchinfo =[
                    { key: '999', name: 'zhangsan'},
                    { key: '111', name: 'lisi'},
                    { key: '222', name: 'wanger'},
                    { key: '333', name: 'apple'},
                    { key: '444', name: 'orange'},
    
                ]
var str1 = searchinfo.some(item => item.key =="999");
console.log(str);//true   存在
var str2 = searchinfo.some(item => item.key =="121");
console.log(str);//false    不存在

总结

到此这篇关于如何用JS判断数组中是否存在某个值或者某个对象的值的文章就介绍到这了,更多相关JS判断数组存在某个值内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • javascript中数组中求最大值示例代码

    javascript中数组中求最大值示例代码

    数组如何求最大值,想必很多的朋友都不会吧,本文为大家介绍下javascript中数组是如何求最大值的,感兴趣的朋友不要错过
    2013-12-12
  • 详解微信小程序实现WebSocket心跳重连

    详解微信小程序实现WebSocket心跳重连

    这篇文章主要介绍了详解微信小程序实现WebSocket心跳重连,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-07-07
  • js获取TreeView控件选中节点的Text和Value值的方法

    js获取TreeView控件选中节点的Text和Value值的方法

    在实际项目中,遇到一个问题,首先弹出一个新窗口,新窗口中放了一个TreeView控件,现在要解决的是,如何单击TreeView中一个节点,返回Text和Value到父页面并关闭该新窗口,本文将详细介绍此方法的实现
    2012-11-11
  • 微信分享调用jssdk实例

    微信分享调用jssdk实例

    这篇文章主要为大家详细介绍了微信分享调用jssdk实例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-06-06
  • Bootstrap整体框架之JavaScript插件架构

    Bootstrap整体框架之JavaScript插件架构

    这篇文章主要介绍了Bootstrap整体框架之JavaScript插件架构的相关资料,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-12-12
  • JS中Select下拉列表类(支持输入模糊查询)功能

    JS中Select下拉列表类(支持输入模糊查询)功能

    这篇文章主要介绍了JS中Select下拉列表类(支持输入模糊查询)功能,代码简单易懂,非常不错,具有参考借鉴价值,需要的朋友参考下吧
    2017-01-01
  • es6中let和const的使用方法详解

    es6中let和const的使用方法详解

    这篇文章主要介绍了es6中let和const的使用方法,结合实例形式详细分析了es6中let和const的基本功能、原理、使用方法及操作注意事项,需要的朋友可以参考下
    2020-02-02
  • 功能强大的Bootstrap效果展示(二)

    功能强大的Bootstrap效果展示(二)

    这篇文章主要介绍了功能强大的Bootstrap效果展示,介绍常用Bootstrap效果的使用方法,感兴趣的小伙伴们可以参考一下
    2016-08-08
  • 微信浏览器内置JavaScript对象WeixinJSBridge使用实例

    微信浏览器内置JavaScript对象WeixinJSBridge使用实例

    这篇文章主要介绍了微信浏览器内置JavaScript对象WeixinJSBridge使用实例,本文给出了分享到朋友圈、发送给好友、分享到腾讯微博、关注指定的微信号等功能代码,需要的朋友可以参考下
    2015-05-05
  • 浅谈javascript如何获取文件后缀名

    浅谈javascript如何获取文件后缀名

    这篇文章主要介绍了浅谈javascript如何获取文件后缀名,文章通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08

最新评论